欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

C#基礎練習題工程化:從控制臺小題到自動判題題庫

C#基礎練習題工程化:從控制臺小題到自動判題題庫 簡介一份面向C#初學者的軟件代碼練習包圍繞基本語法與數(shù)據(jù)類型、條件與循環(huán)、函數(shù)與方法、數(shù)組與集合、類與對象、接口與抽象類、異常處理、枚舉與委托、文件與流、LINQ、異步編程和泛型等核心知識點組織適合正在系統(tǒng)入門或準備查漏補缺的學習者通過動手編碼鞏固基礎。壓縮包共1670個文件約17.87MB內含224個cs源碼、94個csproj工程文件、82個sln解決方案以及pdb、exe、resx、jpg、ico等編譯輸出和配套資源多數(shù)練習可按解決方案直接打開、編譯與調試。已有731人學習說明其作為練習素材具有一定參考價值。讀者可借助分層練習逐項驗證變量聲明、循環(huán)控制、值傳遞與引用傳遞、集合增刪改查、接口實現(xiàn)、異常捕獲、LINQ查詢及async/await異步方法等常見考點也能從完整工程結構中熟悉C#項目的組織方式、資源引用和調試流程對于需要從語法練習過渡到小型項目實踐的讀者這份題庫提供了較密集的動手樣本與排錯線索。1. 從一份 C# 基礎練習題說起它究竟練的是什么手感很多人學 C# 卡住的地方不是看不懂語法而是打開編輯器之后不知道下一行該寫什么。手上這份 C# 基礎練習題就是針對這個尷尬來的它把變量與類型、分支循環(huán)、數(shù)組與字符串、類與接口、集合與 LINQ 拆成一批能直接運行的控制臺小題每題一個入口改完就能看到輸出。它適合兩類人一是剛過完語法教程、急需手感的新手二是要帶新人、想找一套現(xiàn)成練手素材的老開發(fā)。整套東西不碰框架也不碰界面純控制臺加 .NET SDK跑起來的門檻很低。但也正因為簡單不少人做完前五題就停了真正值錢的那部分——怎么把這些小題組織成一個能反復練、能自動判對的工程——反而被跳過去了。2. 工程骨架把零散小題組織成一個能編譯的倉庫練習題最容易寫成“一堆隨手丟的 Program.cs”。單題能跑一多就亂想回頭復習第三題得翻半天文件夾想確認自己沒把前面的題改壞只能一個個手動跑。所以第一步不是寫代碼是先把骨架搭對讓dotnet build一次編譯全部題目讓每道題的入口互不干擾。這一步花十分鐘后面能省掉大量返工。2.1 用 dotnet CLI 搭出題目倉庫我一般不用 IDE 的圖形化新建項目直接用命令行因為命令可復制、可寫進腳本下次重建題庫時改兩行就行。核心思路是“一個解決方案 每題一個控制臺項目”這樣每道題都有自己的Main互不搶占入口點。# 建總目錄后面所有命令都在這個目錄里執(zhí)行 mkdir CSharpBasics cd CSharpBasics # 創(chuàng)建解決方案文件用來統(tǒng)一管理所有題目項目 dotnet new sln -n CSharpBasics # 第 1 題變量、類型與類型轉換 dotnet new console -n Ex01_Types -o src/Ex01_Types dotnet sln add src/Ex01_Types/Ex01_Types.csproj # 第 2 題分支與循環(huán) dotnet new console -n Ex02_Loops -o src/Ex02_Loops dotnet sln add src/Ex02_Loops/Ex02_Loops.csproj # 第 3 題數(shù)組與字符串 dotnet new console -n Ex03_ArrayString -o src/Ex03_ArrayString dotnet sln add src/Ex03_ArrayString/Ex03_ArrayString.csproj # 一次性編譯整個解決方案確認骨架沒問題 dotnet builddotnet new console生成的是最小可運行模板只有項目名.csproj和Program.cs兩個文件。-n是指項目名會同時決定程序集名和默認命名空間-o是輸出目錄我習慣統(tǒng)一放到src/下根目錄只留解決方案文件。dotnet sln add把項目掛進解決方案之后dotnet build不帶參數(shù)就會編譯全部能立刻發(fā)現(xiàn)“改了第 2 題卻把第 3 題改崩了”這種連鎖問題。單題運行用dotnet run --project src/Ex02_Loops--project后面跟的是項目目錄而不是解決方案這點別搞混否則會報“找不到可運行的項目”。2.2 用 Directory.Build.props 統(tǒng)一目標框架如果每個 csproj 各寫一套配置練到第十題你就會發(fā)現(xiàn)有的項目目標框架是舊版、有的沒開可空引用行為不一致排查起來很不方便。.NET 的 MSBuild 支持在目錄層級放一個Directory.Build.props子目錄里的項目會自動繼承這是我做練習倉庫時必加的一層。Project PropertyGroup !-- 所有題目統(tǒng)一目標框架避免每題語法能力不一致 -- TargetFrameworknet8.0/TargetFramework !-- 隱式 using省掉每題都寫 using System; -- ImplicitUsingsenable/ImplicitUsings !-- 開啟可空引用類型強制練習時正視 null -- Nullableenable/Nullable LangVersionlatest/LangVersion !-- 練習題不需要發(fā)布產物關掉能少一堆 bin/obj 噪音 -- GenerateDocumentationFilefalse/GenerateDocumentationFile /PropertyGroup /Project這幾個參數(shù)值得逐個說清楚。TargetFramework決定能用哪些 API寫死成一個長期支持版本能避免“網(wǎng)上抄的代碼在我這編譯不過”。ImplicitUsings打開后System、System.Collections.Generic、System.Linq這些常用命名空間自動引入練習題代碼能短很多。Nullable是最有爭議的一個打開后寫string s Console.ReadLine();會直接給警告新手第一反應是煩但這恰恰是 C# 里最該早點撞上的墻第 5 章會專門講怎么處理。提示如果本機只裝了某一個版本的 SDK把net8.0改成dotnet --list-sdks里實際存在的版本別硬抄。2.3 題目分類與目錄清單題目如果只是按“第 1 題、第 2 題”平鋪復習時完全沒有線索。我習慣按語法主線切成七個臺階每道題掛在一個臺階下目錄名直接體現(xiàn)考察點找題時看目錄就夠。臺階目錄示例主要考察點建議題量類型與轉換Ex01_Types值類型、引用類型、TryParse、格式化輸出46分支與循環(huán)Ex02_Loopsif/switch、for/while、嵌套循環(huán)58數(shù)組與字符串Ex03_ArrayString遍歷、排序、string常用方法58類與對象Ex04_Oop字段、屬性、構造、封裝46繼承與接口Ex05_Interface抽象類、接口、多態(tài)35集合與泛型Ex06_CollectionListT、DictionaryK,V、泛型方法46LINQ 與異常Ex07_Linq查詢表達式、鏈式調用、try/catch46對應的目錄結構大致是這樣后面加題只要往src/里塞新項目再dotnet sln add就行CSharpBasics/ ├── CSharpBasics.sln ├── Directory.Build.props # 全局編譯配置所有題目繼承 └── src/ ├── Ex01_Types/ │ ├── Ex01_Types.csproj │ └── Program.cs ├── Ex02_Loops/ │ ├── Ex02_Loops.csproj │ └── Program.cs └── ...這套結構的好處是“可增量”。今天只做類型轉換就只dotnet run --project src/Ex01_Types哪天想整體回歸一遍dotnet build全量編譯能通過的說明語法層面沒退化。至于每道題內部的代碼怎么寫就是下一章的事了。3. 核心題型拆解五類題目背后的 C# 語法主線練習題的價值不在于題目本身多難而在于每道題是不是真的逼你用上了某個語法點。這一章按難度遞進拆四類典型題每類給一段能直接跑的代碼并說明它到底在練什么、參數(shù)怎么改、改錯會看到什么現(xiàn)象??吹臅r候建議對著自己的Program.cs一起改別只讀。3.1 輸入輸出與類型轉換最容易被跳過的一關第一類題通常是“輸入半徑算圓面積”這種看起來簡單到?jīng)]必要寫但它是新手翻車最集中的地方。原因在于控制臺輸入的原始形態(tài)永遠是字符串而Console.ReadLine()在開啟可空引用后返回的是string?直接double.Parse一旦遇到空輸入或者用戶手抖打了字母整個程序就崩了。// 計算圓面積演示輸入校驗 數(shù)值格式化 Console.Write(請輸入半徑); string? raw Console.ReadLine(); // TryParse 返回 bool轉換成功才把結果寫進 out 參數(shù) // 這里同時校驗了“能轉成 double”和“必須大于 0”兩個條件 if (!double.TryParse(raw, out double radius) || radius 0) { Console.WriteLine(輸入不合法請輸入一個大于 0 的數(shù)字。); return; } double area Math.PI * radius * radius; // F2 表示保留兩位小數(shù)會做四舍五入 Console.WriteLine($半徑 {radius:F2} 的圓面積是 {area:F2});double.TryParse的第一個參數(shù)是待轉換字符串第二個是out參數(shù)轉換失敗時它會被賦成0所以判斷必須用返回值而不是看radius是不是 0——這是很多人第一次踩的坑。Math.PI是常量不用自己寫 3.14。格式串里的F2是標準數(shù)值格式符F表示定點2是小數(shù)位數(shù)想改成三位就寫F3想去掉千分位就用N2換成N。這段代碼還有個隱藏考點return寫在頂層語句里表示結束程序。如果你把它放進一個方法里return只會退出方法后面的代碼還會繼續(xù)跑邏輯就錯了。新手常犯的錯是把校驗寫在方法里卻忘了返回一個“失敗標記”。3.2 循環(huán)與數(shù)組把排序和圖形打印寫扎實第二類題是循環(huán)。很多人覺得循環(huán)沒什么可練的但嵌套循環(huán)的邊界控制是后面所有算法的地基。我建議至少手寫一遍冒泡排序和一次圖形打印不要復制粘貼。// 冒泡排序演示數(shù)組遍歷 嵌套循環(huán) 提前退出優(yōu)化 static int[] BubbleSort(int[] source) { // 復制一份避免修改調用方傳進來的數(shù)組 int[] data (int[])source.Clone(); int n data.Length; for (int i 0; i n - 1; i) { bool swapped false; // 本輪是否發(fā)生交換 // 每輪結束最大的元素已經(jīng)沉到末尾所以內層可以少比一次 for (int j 0; j n - 1 - i; j) { if (data[j] data[j 1]) { (data[j], data[j 1]) (data[j 1], data[j]); // 元組交換 swapped true; } } if (!swapped) break; // 已經(jīng)有序提前收工 } return data; } int[] input { 5, 2, 9, 1, 5, 6 }; Console.WriteLine(string.Join(, , BubbleSort(input))); Console.WriteLine($原數(shù)組未被修改{string.Join(, , input)});為什么要有n - 1 - i這個減法因為每一輪外層循環(huán)結束后末尾的i 1個元素已經(jīng)排好序了再比就是浪費。把這個減法寫錯成n - 1程序還能跑結果也對只是多做了無用的比較屬于“對但不夠好”調試時根本發(fā)現(xiàn)不了。swapped標記是提前退出優(yōu)化最好的情況數(shù)組本來有序復雜度從 O(n2) 降到 O(n)。(data[j], data[j 1]) (data[j 1], data[j])是 C# 的元組解構賦值等價于借助臨時變量交換但少寫三行。如果目標框架版本太老不支持就老老實實寫臨時變量別硬用。圖形打印題比如輸出等腰三角形、九九乘法表練的是“循環(huán)變量和輸出位置的關系”。這類題沒有標準答案但有個自檢方法把行數(shù)從 5 改成 3 和 7看圖形是不是仍然對稱。如果不改代碼就變形說明邊界寫死了。3.3 面向對象類、屬性、繼承與接口的最小閉環(huán)到了這一層題目開始從“算一個值”變成“描述一個東西”。典型的題是“定義圖形基類派生圓和矩形統(tǒng)一計算面積”。這類題看著像八股實際上是把封裝、繼承、多態(tài)三件事串起來的唯一低成本方式。// 抽象基類約束所有圖形都必須能算面積和周長 public abstract class Shape(string name) { public string Name { get; } name; public abstract double Area(); public abstract double Perimeter(); public override string ToString() ${Name}: 面積{Area():F2}, 周長{Perimeter():F2}; } public sealed class Circle(double radius) : Shape(圓) { // 主構造函數(shù)參數(shù)直接參與屬性初始化屬性只讀避免外部亂改 public double Radius { get; } radius 0 ? radius : throw new ArgumentOutOfRangeException(nameof(radius)); public override double Area() Math.PI * Radius * Radius; public override double Perimeter() 2 * Math.PI * Radius; } public sealed class Rectangle(double width, double height) : Shape(矩形) { public double Width { get; } width 0 ? width : throw new ArgumentOutOfRangeException(nameof(width)); public double Height { get; } height 0 ? height : throw new ArgumentOutOfRangeException(nameof(height)); public override double Area() Width * Height; public override double Perimeter() 2 * (Width Height); } // 多態(tài)調用方只認 Shape不關心具體是哪種圖形 ListShape shapes [new Circle(2), new Rectangle(3, 4)]; foreach (Shape s in shapes) Console.WriteLine(s);public abstract class Shape(string name)用的是主構造函數(shù)語法參數(shù)name可以直接用在屬性初始化里省掉一個顯式構造函數(shù)。sealed表示這個類不允許再被繼承練習題階段建議加上能避免“亂繼承導致行為跑偏”的迷惑現(xiàn)象。屬性初始化里那句radius 0 ? radius : throw new ...是三目運算符加拋異常的組合好處是把“不合法狀態(tài)根本創(chuàng)建不出來”這條規(guī)則焊死在類型里而不是靠調用方自覺。nameof(radius)會在編譯期變成字符串radius好處是以后重命名參數(shù)時異常信息會自動跟著改不會寫死一個過期字符串。多態(tài)那三行是重點ListShape里放的是不同子類循環(huán)時調用s.Area()會自動走到各自的實現(xiàn)。如果這里寫成Listobject再手動判斷類型說明多態(tài)沒理解到位題目就白做了。3.4 集合與 LINQ從 List 到鏈式查詢最后一類題是集合操作。典型題是“給一批學生成績按班級分組求平均分再按平均分倒序輸出”。這題用傳統(tǒng)for循環(huán)能寫二十行用 LINQ 五行就完了但只寫 LINQ 不寫循環(huán)版本你不知道它到底替你做了什么。public record Student(string Name, string ClassName, int Score); ListStudent students [ new(A同學, 一班, 88), new(B同學, 一班, 72), new(C同學, 二班, 95), new(D同學, 二班, 61), new(E同學, 二班, 79), ]; // 按班級分組 → 算平均分 → 過濾掉平均分低于 70 的班 → 按平均分倒序 var report students .GroupBy(s s.ClassName) // 分組鍵是班級名 .Select(g new { Class g.Key, Count g.Count(), Average g.Average(s s.Score) // 組內對 Score 求平均 }) .Where(x x.Average 70) // 過濾 .OrderByDescending(x x.Average); // 排序 foreach (var item in report) Console.WriteLine(${item.Class}{item.Count} 人平均 {item.Average:F1} 分);GroupBy返回的是IGroupingTKey, TElement每個分組既能當集合遍歷g.Count()、g.Average(...)又能通過g.Key拿到分組鍵這是它和Dictionary最大的區(qū)別。Select里用了匿名類型new { ... }適合只在當前方法里臨時組裝結果如果這個結果要跨方法傳遞就該定義一個record否則類型沒法寫在簽名上。Where和OrderByDescending的順序會對結果產生影響雖然這里邏輯上先過濾再排序和反過來結果一樣但數(shù)據(jù)量大時先過濾能少排很多元素。這類“順序無所謂但要養(yǎng)成習慣”的細節(jié)就是練習題和真實項目之間的差距所在。4. 自證與調試給每道題配一套能跑的校驗練習題最大的問題是沒人給你判對錯??刂婆_輸出一行“面積 12.57”你怎么知道是自己算對了還是碰巧如果每道題都靠肉眼對比練到第十題就會開始偷懶隨手跑一遍看著像對的就過了。所以我在練習倉庫里固定加一層極簡斷言讓每道題都能自證。4.1 手寫一個不到三十行的斷言器不用引入第三方測試框架練習階段一個靜態(tài)類足夠好處是零依賴、打開就能用也不會被一堆測試配置勸退。public static class Check { private static int _pass; private static int _fail; // 值比較用 Equals 而不是 能兼容裝箱后的值類型和字符串 public static void That(string caseName, object? actual, object? expected) { if (Equals(actual, expected)) { _pass; Console.WriteLine($[通過] {caseName}); } else { _fail; Console.WriteLine($[失敗] {caseName} 期望{expected} 實際{actual}); } } // 浮點比較單獨處理直接 Equals 會因為精度問題永遠不相等 public static void Near(string caseName, double actual, double expected, double tolerance 1e-6) That(caseName, Math.Abs(actual - expected) tolerance, true); public static void Summary() { Console.WriteLine($\n合計 {_pass _fail} 項通過 {_pass}失敗 {_fail}); if (_fail 0) Environment.Exit(1); // 有失敗就讓進程返回非零方便腳本判斷 } }Equals(actual, expected)是靜態(tài)方法會自動處理 null比actual expected安全——后者在兩邊都是引用類型且沒重載運算符時比的是引用地址字符串雖然重載過但其他類型不一定。Near專門給浮點用tolerance默認1e-6如果題目要求保留兩位小數(shù)可以放寬到0.005。最后那個Environment.Exit(1)是給自動化留的口子有失敗用例時進程退出碼非零外面用 shell 或 CI 一判就知道過沒過。4.2 把題目改造成“輸入 → 計算 → 返回”三段式斷言要能用前提是邏輯不能和Console.ReadLine攪在一起。做法很簡單把純計算抽成一個返回值的靜態(tài)方法Main只負責讀輸入、調方法、打印結果。// 純函數(shù)只依賴參數(shù)不碰控制臺方便斷言 static double CalcCircleArea(double radius) { if (radius 0) throw new ArgumentOutOfRangeException(nameof(radius), 半徑必須大于 0); return Math.PI * radius * radius; } // Main 里只做 IO邏輯一行調用 Console.Write(請輸入半徑); if (double.TryParse(Console.ReadLine(), out double r)) { try { Console.WriteLine($面積 {CalcCircleArea(r):F2}); } catch (ArgumentOutOfRangeException ex) { Console.WriteLine(ex.Message); } } // 校驗部分集中在文件末尾改題時只動上面不動這里 Check.Near(半徑 2 的面積, CalcCircleArea(2), 12.566370, 1e-3); Check.Near(半徑 0.5 的面積, CalcCircleArea(0.5), 0.785398, 1e-3); Check.That(半徑 0 應拋異常, CatchType(() CalcCircleArea(0)), typeof(ArgumentOutOfRangeException)); Check.Summary();抽成純函數(shù)之后同一份邏輯既能在Main里跑給人看又能被斷言調用改一次兩邊都受益。CatchType是個十行的小工具捕獲異常并返回類型static Type? CatchType(Action action) { try { action(); return null; } // 沒拋異常返回 null catch (Exception ex) { return ex.GetType(); } // 拋了就返回實際類型 }參數(shù)Action表示“無參無返回值的委托”所以調用時要包成() CalcCircleArea(0)的 lambda。返回Type?是因為“沒拋異常”這個分支沒有類型可返回用可空類型表達最自然這也正好呼應了第 2 章開啟的Nullable。4.3 邊界用例與異常路徑怎么定寫完斷言之后最容易被忽略的是“該測哪些值”。我的習慣是每題至少四類正常值一個、邊界值一個0、空字符串、數(shù)組首尾、非法值一個負數(shù)、字母、null、規(guī)模極值一個空數(shù)組、單元素數(shù)組。這四類覆蓋下來題目里的if分支基本都能走到。跑的時候用dotnet run --project src/Ex01_Types看輸出里有沒有[失敗]。如果有先看期望值和實際值差多少差一點點多半是精度差一整倍多半是公式寫錯差個符號多半是邊界條件取反了。這套流程走順之后調試就從“盯著屏幕猜”變成“看斷言報告定位”。5. 常見問題排查練習時最容易翻車的五個點下面這幾條是我?guī)俗鼍毩晻r反復見到的基本每個新手都會中一兩條。寫法統(tǒng)一按“現(xiàn)象 → 原因 → 解決”來遇到時直接對號入座。5.1 語言與類型層面的坑坑一一開Nullable滿屏黃色警告代碼像錯了一樣?,F(xiàn)象是剛在Directory.Build.props里打開Nullableenable/NullableProgram.cs里就出現(xiàn)CS8600、CS8602、CS8618一串警告程序還能跑但看著心里發(fā)毛很多人第一反應是把開關關掉。原因是可空引用類型把“這個變量可能是 null”從運行時隱患提前到了編譯期提示。Console.ReadLine()確實可能返回 null比如輸入流被重定向且沒有內容string? raw接住它是對的但接著raw.Length就會報CS8602因為編譯器無法保證raw非空。CS8618則是“非空屬性在構造函數(shù)結束時還沒賦值”。解決辦法不是關開關而是把警告當提示用能判空的就判空if (raw is null) return;確實非空的就用!斷言并寫注釋說明為什么安全屬性用主構造函數(shù)或required修飾符保證初始化。練習題階段建議全部老老實實判空別用!圖省事這個習慣帶到真實項目里會救命??佣麛?shù)相除結果永遠是整數(shù)平均分算出來少一截。現(xiàn)象是求平均分int avg total / count;輸入 3 個 90 分期望 90 實際也是 90看著沒問題但輸入 3 個 88、89、90期望 89 實際 89還是看不出問題直到輸入 2 個 1 和 2期望 1.5 實際 1。原因是 C# 里兩個int相除結果類型還是int小數(shù)部分直接截斷不是四舍五入。這是語言規(guī)定不是 bug所以不會有任何警告。解決辦法是把其中一個操作數(shù)轉成浮點double avg (double)total / count;或者total / (double)count。注意(double)(total / count)是錯的因為括號里先算完除法再轉換那時小數(shù)已經(jīng)丟了。這類題我強烈建議在斷言里放一組除不盡的用例不然永遠發(fā)現(xiàn)不了??尤↑c數(shù)用比較兩個“相等”的值判成不等?,F(xiàn)象是0.1 0.2 0.3返回false用Check.That斷言直接失敗但打印出來看兩個值明明都是0.3。原因是double用二進制表示十進制小數(shù)0.1和0.2都無法精確表示相加后是一個極接近但不等于0.3的值。這跟語言無關是 IEEE 754 的固有特性。解決辦法是所有浮點比較都改成“差值絕對值小于容差”也就是第 4 章那個Check.Near。容差取多少看題目要求算面積這種可以取1e-6要求保留兩位小數(shù)的可以取0.005。涉及金額的場景干脆別用double改用decimal它不是二進制浮點能精確表示十進制小數(shù)代價是運算慢一點。5.2 工程與運行層面的坑坑四dotnet run報“找到多個入口點”?,F(xiàn)象是命令行一跑就報CS0017: 程序定義了多個入口點編譯直接失敗一個題都跑不了。原因是你把兩個Program.cs放在了同一個項目里或者給某道題新建了項目卻沒在正確的目錄下執(zhí)行dotnet run——頂層語句會自動生成Main兩個文件就兩個Main編譯器不知道該用哪個。解決辦法是確認“一題一項目”跑的時候帶上--project指定到具體目錄dotnet run --project src/Ex02_Loops。如果確實需要在同一項目里放多個練習入口那就把它們寫成帶名字的靜態(tài)方法只在Program.cs里保留一個Main負責分發(fā)別再新增頂層語句文件??游蹇刂婆_輸出中文變成亂碼?,F(xiàn)象是打印“請輸入半徑”時終端里顯示的是一串問號或者方塊。原因是控制臺編碼和源文件編碼不一致。源文件默認是 UTF-8而部分終端默認代碼頁不是 UTF-8輸出時就會錯位。解決辦法有兩個層次一是在Program.cs開頭加一行Console.OutputEncoding System.Text.Encoding.UTF8;讓輸出走 UTF-8二是檢查終端本身的編碼設置把它調到 UTF-8。第一種更省事我一般在模板里就寫死新題復制過去自動生效。順帶說一句讀入中文時同理必要時把Console.InputEncoding也設上。6. 二次開發(fā)把題目集改成自己的題庫與自動判題器練習題做通關之后多數(shù)人就停在那了。其實這套東西稍微改一改能變成一個自己長期用的刷題系統(tǒng)甚至給團隊新人當入職訓練。我自己的改法是三步把題目元數(shù)據(jù)化、把運行入口統(tǒng)一、把校驗結果匯總成報告。第一步是給每道題加統(tǒng)一接口?,F(xiàn)在每題各寫各的Main想批量跑只能靠 shell 循環(huán)。改成定義一個接口每道題的邏輯實現(xiàn)它再寫一個調度器用反射把所有實現(xiàn)找出來跑// 所有題目統(tǒng)一實現(xiàn)這個接口調度器只認它 public interface IExercise { string Id { get; } // 題號如 Ex03_02 string Title { get; } // 題名報告里顯示 bool Run(); // 返回 true 表示本題全部用例通過 } // 以冒泡排序題為例 public sealed class Ex03_02_BubbleSort : IExercise { public string Id Ex03_02; public string Title 冒泡排序并返回新數(shù)組; public bool Run() { // 這里復用第 4 章的 Check但把 Summary 換成返回值 Check.That(普通數(shù)組, string.Join(,, BubbleSort([5, 2, 9])), 2,5,9); Check.That(已有序數(shù)組, string.Join(,, BubbleSort([1, 2, 3])), 1,2,3); Check.That(單元素數(shù)組, string.Join(,, BubbleSort([7])), 7); return Check.Failed 0; } private static int[] BubbleSort(int[] source) { /* 同第 3 章實現(xiàn) */ return source; } }第二步是寫調度器掃描當前程序集里所有IExercise實現(xiàn)并依次執(zhí)行。Activator.CreateInstance要求類型有無參構造函數(shù)所以題目類別寫帶參構造。用typeof(IExercise).IsAssignableFrom(t)判斷而不是t typeof(IExercise)前者能匹配到所有實現(xiàn)類包括間接實現(xiàn)。var exercises typeof(IExercise).Assembly.GetTypes() .Where(t typeof(IExercise).IsAssignableFrom(t) !t.IsAbstract !t.IsInterface) .Select(t (IExercise)Activator.CreateInstance(t)!) .OrderBy(e e.Id); int failed 0; foreach (var ex in exercises) { bool ok ex.Run(); Console.WriteLine(${(ok ? PASS : FAIL)} {ex.Id} {ex.Title}); if (!ok) failed; } Console.WriteLine($\n共 {exercises.Count()} 題失敗 {failed} 題); Environment.Exit(failed 0 ? 0 : 1);第三步是把它接進日常流程。我會在倉庫根目錄放一個run-all.sh內容就一行dotnet run --project src/Runner然后每次改完題目先跑它。退出碼非零就說明有題被改壞了這時候再去看具體是哪道題失敗比逐個項目手點快得多。想再進一步可以把Check里的通過數(shù)、失敗數(shù)輸出成 JSON長期記錄每道題的通過率哪題反復錯就重點補那一塊。改造過程中最容易翻車的地方是題目類沒有無參構造函數(shù)反射時會拋MissingMethodException報錯信息還不直接指向原因。血淚經(jīng)驗是題目類只放字段、屬性和方法需要注入的東西一律通過方法參數(shù)傳別在構造函數(shù)里做初始化。另外一個后悔藥是給調度器加上 try/catch某道題拋異常時記一筆繼續(xù)跑下一道否則一道題崩掉整個報告都出不來。從那以后我每次把練習倉庫交給別人跑之前都會先在一個干凈目錄里dotnet build加run-all.sh走一遍確認沒有隱式依賴本機環(huán)境的東西再發(fā)出去。這套習慣看起來啰嗦但省下來的解釋成本遠比這幾分鐘多。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情婷婷五月天| 五月激情在线| 六月丁香综合999| 天天色五月婷婷91久久久久久久| www婷婷| 婷婷激情小说网| 婷婷丁香激情五月天色色色| 亚洲午夜av| 26uuu亚洲欧美| 日本3级片偷拍网站| 亚洲网在线观看| 激情综合区| 亚洲性色XXXXX| Av大香蕉| 99操逼| 色五月婷婷91在线| 五月婷婷丁香综合,亚洲天堂| wwwss在线观看| 夜夜操天天干| 99热精品在线免费观看| 五月婷婷丁香综合| 国产色五月| 日日夜夜狠狠婷婷色| 新激情综合| 欧亚成人A片一区二区| 婷婷月综合| 国产美女最新VA在线免费观看| 丁香久久五月婷综合| 五月天久久婷| 午夜微拍福利| 狠狠色中色| 欧美色综合天天久久综合精品| 粉嫩av蜜桃av蜜臀av| 综合热无码| 久久久思思热| 夜夜天天久久婷婷| 天天综合五月| 激情综合六月| 亚洲最大视频| 欧美色久| 免费视频无码| 国精产品一区一区三区免费视频| 国产性爱在线| 丁香五月天天| 久久免费9| 在线观看免费狠狠色丁香香综合 | 大香蕉99热| 天天天天爽爽天干| 婷婷六月色开 | 五月婷婷综合天天操| 欧美婷婷| 五月天婷婷丁香成人网| 色欲色香,www,com| 九九RE视频在线精品| 日韩成人AV在线| 欧美日韩国产一区| 激情五月黄色小说| 五月丁香欧美在线| 激情六月丁香| 亚洲经典三级| 蜜臀99久久精品久久久久| 99热最新国内| 玖玖激情五月天| 色五月天丁香婷婷色| 五月天伊人久久久久| 欧美熟妇一区二区三区| 天天日日夜夜爽| 伊人婷婷青青cao| 79精品在线视频| 五月激情另类| 婷婷五月综合啪| 综合婷婷久久| 91男同视频| 97操在线| www.99在线| 成人看片网站| 成人超碰Av| 26uuu成人网| 大香蕉五月婷婷| 91成人性爱视频| 色丁香五月婷婷| 天天综合天综合久久网| 1024人妻| 人人爱人人草| 成人无码精品1区2区3区免费看| 爱99干99| 婷婷六月色开| 五月婷婷激情久久| 欧美精品XXXXBBBB| 五月丁香婷婷综合久久| 99热这里只有的精品视| 成人AV在线电影| 中文字幕人成乱码在线观看| 噜噜色五月| 婷婷伊人綜合中文字幕| 亚洲激情婷婷| 在线看的免费网站| 五月婷婷啪| 婷婷大美在线| 亚洲色99| 91久久精品无码一区二区三区| 亚洲九九免费| 婷婷五月花| 欧美婷婷色| www.婷婷,com| 99色性爰网络| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 99热综合| 99综合久久| 五五月五月| 色五月激情五月开心五月| 97天堂| 停停六月 综合| 玖玖色综合| 色五月综合网| 人妻无码视频网| www.婷婷亚洲基地| 色色五月婷婷久久| 色色综合热| 99热20| 亚洲视频操| 一二线视频 另类| 999婷婷综合| 五月激情综合美女久久| 99久久婷婷国产综合亚洲| 91精品久久久久久综合五月天| 亚洲五月情| 欧美久热| 99操| 深爱五月天| 色五月婷婷激情基地| 婷婷丁香五月天小说| 欧美色色色色色| 国产特黄色精品一区二区三区精品无广告| 99精品在线下载| 丁香五月香蕉| 男人天堂伊人五月丁香| 色播五月婷婷| 美女激情婷婷| 九 九九九AV| 99精品性爱| 日韩三级视频一区二区| 99热这里只有精品搜| 噜噜在线| 婷婷丁香五月天小说| 五月综合色| 97精品综合久久| 亚洲成人av在线播放| 精品自拍97| 婷婷激情五月综合在线视频| 98色花堂98t.R| 大香蕉伊然在亚洲90| 精品人妻伦| AAA久久| 超碰在线9| 五月色综合网| 欧美图片丁香五月天| 五月婷婷六月综合| 91综合在线视频| 六月丁香综合| 婷婷五月天激情小说| 六月撸婷婷| 99热在线爱| 婷婷婷婷婷婷婷五月丁香| 免看黄大片AA | 久久与婷婷| 天天拍夜夜爽日日| 性爱网六月丁香| 激情久久久久久久久久| 激情五月深爱五月| 九月婷婷人人操人人舔人人爱| 这里只有精彩亚洲视频推荐| 91婷婷色| 亚洲综合网在线| 五月色网| 丁香蜜臀黄色婷婷五月天| 婷婷五月天av| 曰日爽日日操| 97综合在线| www.久久爱.c n| 20253AV| 丁香美女主播视频在线观看| 日本九九网| 天天做天天爱| 天天综合久久| 久久aaaaa| 激情欧美丁香五月| 激情五月图| 婷婷激情五月呦呦| 成人av免费观看| www.99热最新视频8| 五月激情综合网| 激情五月四色| 99这里有精品免费| 99欧州偷拍视频| 五月婷婷六月色| 婷婷五月天99| 97九色| 熟妇人妻中文字幕无码老熟妇| 丁香五月天人体| 老司机视频lsj爱就色| 激情六月丁| 第2色五月婷| 九月丁香久久网| 五月天婷婷丁香基地在线观看| 99免费综合网| 91打屁股视频网站| 久久婷婷免费| 五月天.com| 久久99免费视频| 久久新| 亚州在线中文字幕| 99热成人| 久久停停超碰| 欧美丁香五月| 麻豆123区| 婷婷99狠狠躁天天躁中文| 色综合五月| 99在热线免费视频| 五月婷婷在线观看| 日韩六六久久电影| 日本本土色网第一区| 免费操超碰| 国产肥白大熟妇BBBB视频| 26UUU欧美| 另类五月婷婷| 亚洲国产色婷婷| 五月停停色| AV中文网| 伊人喵咪a V| 99九九视频| 久色大| 99热这里只有精品在线播放| 丁香综合伊人AV| 在线99热| 国产片天天爽夜夜爽| 婷婷五月18永久免费网站| 91蝌蚪窝视频在线| 九月丁香八月婷婷加勒比| 丁香六月婷婷色XXXXX| www.minyis.com【JT】实力收量可预付QQ2101460746 | 五月婷婷综合在线视频| 伊人九九68| 91久久久久久| 丁香五月婷婷啪啪| 少妇做爰免费视看片| 丁香五月天啪啪| 亚洲乱码w在线观看| 精品皮股午夜AV| 日日射天天射| 丁香五月av在线| 26UUU欧美激情一区二区| 欧美激情丁香五月| 天天做天天爱天天爽在| 欧美综合婷婷网| 99re这里只有精品免费| 狠狠操天天日| 激情综合丁香五月| 婷婷久久免费| www激情| 色三级色三级| 久久99精品视频| 五月丁香六月激情欧美综合| 婷婷久久五月| 五月天婷久久| 1024亚洲| 99久久婷婷国产综合精品青桔| 区美毛片子| www..999热久| 国产99精品免费视频| 26uuu美女三级视频| 五月丁香啪啪啪免费看| 综合六月激情婷婷| 九色无码| 极品人妻VIDEOSSS人妻| 五月天综合色| 色情婷婷| 色婷婷五月天不卡| 色五月在线观看| 99免费视频| 欧美顶级少妇做爰HD | 在线观看中文字幕亚洲| 五月丁香六月婷婷不卡免费无码 | 色婷五月天| 久久九区| 人妻在线观看视频| 99综合视频一体| 99精品这里只有免费视频| 这里只有精品在线播放| 色婷婷五月天在线观看| 桃色五月天| 国产亚洲99久久精品熟女| 狠狠色丁香久久| 四色永久成人网站| 夜夜综合色| 丁香婷婷91在线观看视频| 99无码黄色视频| 九九在线热九九在线热99热| 99精品人人| 亚洲视99| 综合色影院| 思思热这里只有精品| 丁香五月欧美婷婷综合| 久久资源网五月婷| 狠狠干思思热| 久久精品性爱| 超碰在线国产9| 亚洲天堂亚洲色色色| 天天碰夜夜爽| 狠狠爱青青草| 亚洲区,视频区,视频区免费| 亚洲va国产va天堂va综合va| 777影视理论片大全在线观看| 区啪精品| 久热中文字幕在线线观看| 中文字幕激情综合| 欧美久久久中文字幕| 操97| 五月天婷婷色色网| 偷拍99在线视频观看| 开心五月婷婷五月| w婷婷五月婷婷w| 婷婷五月色播天| 九九热a| 五月丁香天堂网| 超碰99在线观看| 综合色吧| 久久这里只有精品99| 色五月激情五月| 爱久综合| 丁香伊人网| 青青久久91| 日韩狠狠色婷婷| 欧美精品啪啪| www,色婷婷| 天天狠狠干| 欧美99| 999婷婷综合| 深爱激情综合网| 亚洲深喉aV| 日日骑夜夜撸| 婷婷五月天激情网| 婷婷偷拍网| 五月丁香婷婷色色色| 99久久終合| 99热九九在线| 日韩精品呦呦va| 情欲综合网| 天天艹夜夜艹| 午夜丁香丁香婷婷| 九九视频在线| 99这里只有精品视频在线| www.99久| 欧美性二区| www99精品| 日本精品干| 开心激情网五月| 激情综合视频| 五月天六月色| 99热综合网| 六月撸婷婷| 97热久久五月婷婷| 亚洲成人网在线观看| 人妻激情在线| 婷婷五月婷婷| 天天干天天干天天干天天干天天干天天 | 碰碰人人漕| 欧美丁香五月| 久热9| 久热91| 色综合色| 丁香五月之久操视频| 九九热思思热| 婷婷五月天首页激情| 综合图片色色| 二色av| www色五月| 深爱五月激情网| 最近中文字幕大全免费版在线| 色婷婷视频| 无码免费人妻A片AAA毛片西瓜| 中文中文在线| 天天夜夜爽| 久草婷婷视频| 久草五月天| 五月丁香六月欧美综合| 色爱综合五月| 国产这里只有精品| 婷婷六月五月| 色婷久久| 91婷婷丁香五月亚洲| 五月丁香六月激情在线| 色综久久AV| 综合五月激情| 日韩av在线免费观看| 成人丁香五月| 亭亭五月天黑人2014| 五月婷婷久久爱| 在线观看欧美| 亚洲99在线视频| 人人妻人人澡人人爽| 亚洲激情av| 色丁香在线视频| 99精品丰满| 九热免费视频| 欧美综合五月丁香六月婷| 91丨九色熟女丨首页| 99啪啪视频| 五月天婷婷色播| 伊人五月综合网| 婷婷欧美| 激情综合99| a69在线视频| 九月色婷婷综合| 日韩欧美一区二区三区四区| 国产中文字幕在线视频免费观看| 五月天激情电影| 青青草视频福利| 丁香六月啪啪啪| 性爱激情综合网| 婷婷五月丁香六月| 欧美丁香婷婷五月天| 五月婷婷高清| 日本九九视频| www.99操.com| 做爰丰满少妇1313| 91操人| 天天日,天天射,天天舔| 一本久久亚洲五月婷婷| 亚洲国产婷婷色五月| 激情色情五月天| 久久精品一区二区三区四区| 久久九九免费视频| 99色精品| 丁香五月av| 色综合久久久久久久久五月| 五月婷婷激情色情网| 99热精品在线播放| 天天插天天插| 久久婷婷五月天蜜桃| 天天噜天天爱| 人人操Av| 久久99热免费| 婷婷欧美激情综合| 婷婷丁香人妻天久久| 五月婷综合激情| 日本熟妇乱妇熟色A片蜜桃| 日本在线视频www色| 九九人人自拍| 亚洲第二AV| 婷婷在线网| 久久香蕉网| 久超超碰| 五月丁香婷中文| 色色色色色色网站| 婷婷丁香色情五月天| 天天拍夜夜爽日日| ss五月天激情| 夜夜骑日日操| 电影爱拉战争免费观看| 久久久久久久久久久久久久人妻视频| 天天噜天天插| 日本色婷婷五月天成人电影| 色99视| 九九亚洲视频| 国产精品久久久久久久久久| 成熟妇人A片免费看网站| 99色视频在线| 亚洲色婷婷| 色色婷婷五月天| 日本欧美成人片AAAA| 久热这里只有精品99re| 丁香五月天堂网| 久久婷婷亚洲| 国产AV影片| 五月婷婷丁香日韩在线| 色综合久久8| 国产女人十八水真多1| 丁香婷婷五月综合欧美另类| 超碰在线观看成人视| 久久精品噜噜噜成人A∨色欲| 亚洲第二AV| 97热久久五月婷婷| 日韩色色色色色| 激情精品久久| 热久久精品视频网站| 五月丁香青草综合啪啪| 激情婷婷五月| 婷婷五月天福利| 亚洲日韩乱码一区二区三区四区| 精品久9| 日本123区日韩欧美不卡在线看| 激情无码网| 久久婷婷精品| 国产婷婷色综合AV蜜臀AV | 玖玖婷婷免费| 久久加勒比| 99综合免费视频| 精品99爱免费视频在线观看| 色五月播五月| 人人草人人舔| 3DAV亚洲香蕉久久 一区二区| 成人永久免费视频在线观看| 五月婷婷五月天激情视频| 日本噜噜色网| 另类图片天天影视在线观看| 刘玥av在线| 丁香五月综合久久| 五月花综合网| 激情综合网五月婷婷| 特级西西4444www无码| 色婷婷在线电影| www.久9| 五月激情丁香五月| 天天久| 热久久这里只有精品| 丁香六月婷婷基地| 99re热视频这里只有综合亚洲| 婷婷丁香一月| 五月丁香六月婷综合成人综合| 午夜天天精品视频| 9 1超碰九色| 丁香五月天成人| 日韩成人av在线| 超碰色碰碰| 久久激情五月| 精品久久久人妻| 色99视频| 97久久精品| 天天天天天久久久久久| 开心婷婷五月| 久久久久亚洲AV无码网影音先锋| 婷婷成人综合五月| 99操视频| 91超碰在线观看| 成人综合伍月天| 九九在线精点品| 九九性爱网| 99只有这里是精品| 六月丁香网| 99久久99久久| 婷婷社区五月天| 色99综合色88| 深爱激情九九五月天 | 婷婷欧美激情| 五月综合激情视频在线| 色婷网站| 伊人婷婷五月| 最近中文字幕大全免费版在线 | 99热99ai| 日韩啪啪视频| 99re热精品视频国| 亚洲另类电影| aa久久| 婷婷综合五月| 热久久色| 久久天堂| 人伦30P| 九九无码| 久久婷婷久久| 五月婷婷中文字幕| 五月丁香色婷婷久久| 五月丁香在线观看| 97自拍99| 成人免费在线电影| 五月丁香久久呀| 色婷婷综合影院| 久久一级免费黄色片| 五月亭亭综合五码| 国产操逼视频网站| 婷婷另类小说| 激情综合网激情五月天| 久久久久亚洲AV无码网影音先锋| 日本婷久久| 久久久999精品| 91超级碰在线视频| 色播五月丁香| 婷婷丁香色五月天久久88| 人人摸人人干| 色婷婷4| 久热在线中文字幕色999舞| 六月丁香五月亭亭| 97操女视频| 国产精品人人妻人人爽| 久久WW| 亚洲愉拍99热成人精品| 天天弄天天爽| 极品精品一区二区三区在线| 婷婷五月激情五月激情| 97碰| 国产精品天天狠天天看| 五月天婷婷视频30| 狠狠色综合五月人人| 丁香五月网络网络| 欧美成人猛片AAAAAAA| 婷婷五月色网| 久久99精品日本| 五月天另类视频| 日本在线免费中文com.| 99色在线视频观看| 色综合色色| 丁香伊人综合| 日本一级大片| www.色99| 综合激情站| 色99日韩| 婷婷亚洲在线| 二色AV| 成人婷婷五月| 丁香婷婷五月综合影院| 亚洲精品一区中文字幕乱码| 九九色综合九九色| 丁香五月婷婷婷婷欧美综合| 狠狠爱婷婷五月天| www夜夜| 五月婷婷自拍视频| 丁香五月激情婷婷| 亚洲AV日韩在线观看| 狠狠爱婷婷丁香| 久久6这里只有精品| 91在线观看www| 天天爽夜夜操| 五月天综合在线观看视频| 99在线观看视频免费| 五月丁香 狠狠爱| 五月婷婷激情久久| 久久激情五月婷婷| 插少妇综合网| 91Chinese在线| 色婷小说| 国产精品99久久久久久久女警| 五月天啪啪| 开心 五月 综合| 色色五月激情| 超碰色碰碰| 99这里只有精| 七七色色综合| 开心激情网五月| 日韩三级片一区二区| av线电影| 变态另类色图 | 99视频这里有精品| 另类综合国产| 色婷婷丁香五月高清在线| 色色色色色色色色色色色色色97| 九色成人AV在线| 五月丁香五月综合欧美| 站长推荐无码播放| 激情五月天综合婷婷网| 丁香五月第四色88| 国产又黄又爽又激情不遮挡视频在线观看| 欧美婷婷日本| 99五月婷| 成人网站高清无码| 婷婷五月丁香人妻无码高清| 狠狠干最新地址| 色一情一乱一乱一区91Av| 色综合九九| 第四色大香蕉| 色噜噜狠狠色综合日日| 玖玖精品视频| 色色日本| 五月天六月色| 亚洲美女网Va| 激情五月天婷婷| 五月色婷婷综合| 五月天成人在线| 婷婷五月天论坛| 五月婷六月天| 久久婷婷五月综合色和| 欧美久久一级内射wwwwww.| 色噜噜狠狠色综合日日| 欧美色色色| 国产成人+综合亚洲+天堂| 五月丁香六月激情欧美综合| 99这里只有精品|v| 九九视频在线观看| 99热伊人| 婷婷色色亚洲| 国产干逼片| 丁香影院五月综合| 精品99在线观看| 五月丁香婷婷成人版| 伊人碰碰婷婷| 色优久久| 色亚洲婷婷| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 色99免费视频中文| 久久久五月婷婷| 美女黄频aⅴ视频| 9久久久久久久久久久| 五月色丁香| www.99热日韩.com| 这里只有精品视频看看| 99er久久| 婷婷五月天Av| 久久久网站| 久九男女天堂| 欧美日本99| 久操大| 99小精品| 色丁香影院| 啪啪99| 婷婷99狠狠躁天天躁| 99视频这里有精品| 伊人久久大香线蕉综合网站| 五月丁香婷婷久久| 天天人人天天爽| 五月天激情无码专区| 久久五月天色婷婷| 夜夜穞天天穞狠狠穞AV美女按摩| 丁香五月天堂亚洲社区| www,久久久| 亚洲五月丁| 天天日天天爽| 大香蕉av在线| 亚洲欧美国产A片免费观看| 激情五月婷| 丁香婷婷久久激情| 中文字幕激情综合| 国产精品第一国产精品| 久久婷婷资源| 丁香五月婷婷丫| 99精品免费视频| 婷婷五月天久久久| www.久操| 天天色天天爱天天舔| 色日本五月天| 三人荫蒂添的好舒服A片| www久久久久久| 激情涩涩网| WWW.17C亚洲精品| 精品影院| 婷婷伊人中文字幕| 五月婷婷丁香网| 日本色婷婷| av线电影| 99热99热| 婷婷久草| 情色五月天网站| 激情丁香六月| 丰满少妇猛烈A片免费看观看| 色婷婷色综合激情91| 五月综合在线婷婷图片| 亚洲色久| 情一色一乱一伦一91A| 国产寻花在线| 日日噜噜夜夜狠狠久久丁香六月| WWW·色色色·COM| 就爱射中文字幕资源网| 九月婷婷| 色噜噜狠狠色综合无码久久欧美| www.天天干| 五婷婷综合网| 午夜青草资源| 99热国产免费| 伊人干综合| 色五月婷婷91| 亚洲成人AV在线| 天天操天天日天天操| 国产亚洲精品久久久久久豆腐| 8区视频在线| 国产精品久久久海的味道| 久9综合| 五月天婷婷伊人| 五月激情小说| 亚洲乱码日产精品BD| 狠狠色婷婷777| 亚洲激情婷婷| 日本视频99| 丁香六月综合激情| 九月久久婷婷| 色五月涩涩婷婷| 狠狠久久婷| 情趣视频66| 51精品国内探花| 天天日日夜夜爽。| 日韩AC在线免费观看| 操操操操操电影网| 国产亚洲AV人片在线| 另类国产综合| av免费在线观看0| 99热在线观看这里只有精品| 曰韩五月丁香色婷婷无码| 婷婷色色播五月天| 婷婷五月天天| 五月久久丁香| 五月天婷婷激情四射综合| 激情五月色综合| www.婷婷五月天,com| 婷婷丁香人妻天天爽| 久久婷婷六月综合综合| 人人摸人人澡人人| 色六月婷婷| 婷婷伊人网| 久久黄色网扯| 韩国中文字幕91| 这里只有精品视频在线看| 婷婷天堂综合网| 国产精品久久久海的味道| 日韩视频女神99| 欧洲亚洲免费视频9 | 99久久综合网| wuyuedingxiang| 久久人妻人人| 99自拍视频在线| 久久ww| 97五月天婷婷| 99操免费视频| 另类激情中文| 亚洲婷婷乱乱丁香| 激情婷婷九月| 久久久久久久人妻| 欧美综合五月丁香五月天| 婷婷激情啪啪| 一本色道久久综合狠狠躁小说| 中文久久久人妻| 人人综合色| av久热| 婷婷五月天亚洲色| 中文字幕亚洲-区久久99婷婷| 婷婷月综合| 欧洲激情五月天婷婷| 九九色插| 97碰啪啪| 婷婷五月天第四色| 九九精品综合| 超碰成人黄色网| 99riAV国产精品视频| 开心深爱五月天| 五月天伊人久久| 开心激情综合| 欧美日韩AAAA| 99热99成人| 极品少妇婷婷五月| 色情五月丁香| 激情综合网五月婷婷| 亚洲五月丁香综合网| 精品国产a| 99热这里只有精品在线| 无码 色| 久久机热这里只有精品免费视频 | 婷婷激情性爱| 五月婷婷久久网| 色色性爱视频| 久热这里只有精品6| 九九视频免费| 9999热在线免费观看| 日本精品久久久久中文字幕| 色综合五月| 丁香五月天五码婷婷| 色五月婷婷av| 91在线观看www| 粉嫩AV久久一区二区三区| 国产三级片91| 婷婷瑟瑟五月天| 婷婷丁香久久五月综合| 激情黄色小说色五月| 婷婷五月激情在线| 免费看欧美成人A片无码| 婷婷五月天综合AV| 六月丁香影院| 人色五月天婷婷| 亚洲操人| 综合AV在线| 天色综合网| 99爱在线| 亚洲欧洲另类图片| 丁香婷婷久久 | 99热在线观看| 五月天婷婷久久视频| 丁香五月天堂网| 五月天激情av| 五月色丁香激情| 婷婷5月色| 天天射影| 九九av| 婷婷丁香久久| 久久人操| 91精品久久久久| 欧美色色干| 亚洲欧洲午夜成人精品av| 色综啪啪啪啪啪啪| 婷婷五月天av小说| 丰滿爆乳一区二区三区| AV片一区在线观看| 国产精品久久久久久久久久免费 | 综激情网| 色婷婷888| 久久久久激情网| www.9797国产| 亚洲啪啪网| 日本色色网站| 成人婷婷| 久久久97| 99综合视频| 色色色色热| 亚洲va综合va国产va中文| 九月丁香婷婷| 五月激情小说| 久久精品国产一区二区三区四区| 久热久| 久久精品A片777777| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲精品字幕在线观看| 少妇水多A片太爽了| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 无码一区二区三区四区五区91c| 亚洲无码性爱| 激情综合另类| 五月天婷婷社区久久综合| 亚洲色人妻| www.狠狠| 亚洲色婷婷激情| 婷婷综合五月色播| 久久婷婷综合五月天| 99热精品观看| 欧美色婷婷| 91狠狠色丁香婷婷综合久久精品| 国产AV一区二区三区最新精品| 一起草AV入口| 五月婷婷9| 啪啪操超碰| 狠狠色丁香五月婷巨| 天天日人人| 色五月首页| 99乱视频| 久久曰曰| 91人无码久久久久久| 久热69| 亚洲俩性性爱图片久久第六页| 久久66精品| 99爱视频| 成人精品在线观看| 久久久久久久久久久久久久久久久精典| 欧美色碰| 六月婷婷六月天天在线免费| 激情综合色| 婷婷在线视频| 超碰v| 九九九九九九综合| 国产色色网址网站| 99热这| 色久综合| 日韩 mm 不卡| 五月天天天综合| 久久婷婷综合五月趴| 欧美日韩一区二区三区四区| 婷婷影院A成人| 久久性操| 五月色网| 99热官网| 综合五月丁香97| va中文资源在线观看| 亚洲色五月| 久久99国产综合精品免费| 成人免费在线电影| 5月婷婷六月丁香| 五月丁香啪啪综合| 99久久超级| 婷婷五月天成人在线视频| 色色哒五月婷婷六月丁香| 亚洲成人综合在线| 99热日本精品| 五月的婷婷六月丁香| 日韩av在线电影| 伊人大香蕉爱聚| 深爱 五月天| 九月婷婷色色| 五月黄色婷婷| 五月丁激情| 97久久视频| 久xxxx| 五月丁香色婷婷熟女| 开心激情婷婷| 99精品人人| 啄木鸟丝袜美女福利视频 | 五月天啪啪网| 翔田千里aV中文字幕| 婷婷性爱网| 一级性感毛片| 五月精品免费XXX| 久热99| 97干在线视频| 中文字幕激情综合| 免费观看日韩成人av| 人人干天天操五月丁香| 五月色影院| AV网站免费在线| 欧美色婷婷| 婷婷成人av| 婷婷五月中文字幕国产| 啪啪综合网| 国产色丁香| 婷婷天天色| 色五月婷婷av| 天天肏在线观看| 亚洲成人网站在线| 成人丁香五月天| 潮汕成人AV片在线| 久久这里只有国产视频| 少妇2做爰HD韩国电影| 99在线er热| 丁香五月手机在线| 色噜噜狠狠色综合日日| 激情婷婷色色| 99久久婷婷国产综合| 久久久久激情| 婷婷精品在线| 任你爽视频| av九九| www色五月| aaa丁香五月天| 丁香五月激情五月| 一区二区中文字幕| 丁香五月婷婷啪啪| 婷婷丁香成人在线视频| 亚洲妇女熟BBW| 天天日夜夜草进麻麻的子宫| 亚洲亚洲人成综合网络| 五月天婷婷激情小说| 中文字幕乱码亚洲精品一区| 欧美噜一噜| 亚洲岛国电影| 狠狠干夜夜干| 在线视频99| 色综合婷婷| 婷婷亚洲五| 刘玥av在线| 久热视频这里只有精品| 超碰在线播放免费观看| 丁香在线视频| 色九月婷婷| 成人午夜天| 99这里只有精品99| 九九 激情 网| 99热这里只有精品2| 亚洲99激情| 91九色超碰| 停婷丁五月在线| 久久久激情视频| 热九九精品| 1995年关宝慧版蜘蛛女| 婷香狠狠爱五月| 99这里有精品视频| 99综合婷婷五月| 1024成人免费看| 婷婷五月丁香综合激情| 人人干天天舔| 男同色五月开心五月激情五月| 99精品在线观看视频| 亚洲AV网站| 国产AV一区二区三区最新精品| 五月丁香六月婷婷综合网缴情| 久久婷中文字幕| 日本天天色| 丁香五月激情综合啪啪| 丁香花五月天激情| 免费视频WWW在线观看网站| 五月婷婷婷婷网| 五月婷婷av| 丁香综合日产精品久久| 一区二区免费看| 日本va网站| 亚洲色图日韩网址| 亚洲精品色| 天天做天天爱天天爽综合网| 亚洲九区| 在线五月婷| 五月丁香久久| 五月天精品综合| 色色操| 一区二区传媒视频| 激情六月婷婷| 99精彩视频| 激情五月天之五月婷婷| 五月天狠狠色| 伊人久久丁香狠狠婷婷综合香蕉| 五月色婷婷影院| 都市激情小说婷婷| 久久这里精彩免费在线观看| 日本一区二区三区精品视频| 久久久久人妻网址| 天天透天天爱| 五月丁香婷婷综合激情基地| 影视av久久久噜噜噜噜噜三级| 99国产精品白浆在线观看免费| 成人版视频在线观看| WWW.桔色成人.COM| 婷婷五月丁香基地在线视频官网| 激情婷| 变态 另类 在线| 丁香五月手机在线| 五月丁香五月婷婷| 久久99久久99精品免观看软件| 五月天社区| 色狠狠综合入口| 欧洲综合一区| 色婷婷成人做爰A片免费看网站 | 婷婷娌伦网| 人人操人人妻| 六月激情网| AV性爱在线| 久久免费操| 97热这里只有精品| 天天天摸夜夜夜玩| 婷婷丁香成人在线视频| 成人丁香五月| 午夜九九九九九九九九九九九九九| 久久久久久久,99精品视频| 五月天激情婷婷| 狠狠干夜夜干| 久久99操| 99九九99九九九视频精彩| 丁香五月天论坛| 综合久久人妻| 都市激情小说婷婷| 99.色| 久久丁香五月婷婷| 一本道综合网| 亚洲色婷婷99一9|| 婷婷色五月噜噜| 色狠狠五月天| 色婷婷丁香五月| 99re热精品在线视频| 高清视频一区| 婷婷五月激情图片| 国产脫衣舞一区二区三区| www热久久yy9| 久久大香蕉视频| 182TV大香蕉| www.久久久久久| 91婷婷色| 久久精典| 久久久人妻不卡| 色色色色欧洲| 亚洲性受XXXX五月丁香| 人人爱操| 韩国情人在线电视剧免费观看高清版全集 | 五月天啪啪网| 国产超碰av| 影音先锋综合网| 99.N在线视频| 欧美日本黄色| 丁香五月天激情| 狠狠色婷婷7| 伍月激情天| 亚洲行行色色| 这里精品| 99视频在线播放大全| 超碰在线人人| 五月激情综合网| 亚洲精品久久久无码| 超碰只有精品在线| 中文字幕成人日韩| 香蕉久久六月| 日韩九九视频| 夜夜操少妇| 婷婷五月天香蕉| 久久久无码精品成人A片小说| 超碰在线日夜| 色噜噜狠狠色综无码久久合欧美 | 91综合色| 狠狠穞A片一區二區三區| 五月天色五月| 欧美日本不卡黄色片| 97久久久免费福利网址| 人人操插| 婷婷美女精品视频| 五月天俺去也| 九九综合伊人| 国产真人做爰视频免费| 激情色五月天| WWW免费视频碰碰碰碰| 人人草成人视频| 丁香五月冃欧美| 久久久久婷 | 操一区| av中文网| 久久久久网站| 青青五月天婷婷| 人人播| 色色综合网站| a片在线免费观看一区| 日本九九九九| 激情五月亚洲| 六月婷婷激情| 激情综合网激情五月俺也去| 亚洲一区二区无遮挡A片| 色五月开心婷婷| 夜夜操天天干| 亚洲精品亚洲人成人网| 亚洲婷婷综合视频| 爱性综合网| 九九婷婷五月天| 色婷婷色99国产综合精品| 久久久9久| 五月综合亚洲色| 综合网五月| 极品人妻XXXXOOOO| 久久婷婷五月综合激情国产| AV 3P| 色欲天天综合| 影音先锋AV男人站| 亚洲激情校园| 开心五月婷婷| 五月成人丁香av91| 丁香 婷婷 激情 综合 五月| 播四月婷婷六月丁香| 第九色区av天堂| 色色狼人综合| 热久久99热欧美国产亚洲| 天天综合精品| 人妻九九九九| 婷婷五月丁香基地| 青柠影视免费高清电视剧| 欧美三级欧美一级| 日本VA视频| 亚洲精品国产A久久久久久| 婷婷久月| 色综合伊人网| 99热99精品在线观看| 可以免费看av网站| 综合久久综合久久| 亚洲色五月婷婷| er99免费视频在线| 人人操AV| 婷婷五月花| 五月天狠狠色| 亚洲天堂有码| 性生活久久人妻| 欧美日韩中文国产一区发布| 成人精品在线| 婷婷综合视频| 99视频91| 99热.com| 亚洲成人丁香花| 俺去也在线官网| 国产av天堂| 九九家庭影院| 丁香五月色| 日夜操B| 婷婷激情性爱| 欧美日韩123| 182TV大香蕉| 色五月大| 婷婷五月在线观看| av在线不卡播放| 日日夜夜狠狠操| 天天综合色99| 欧美成人网99网| 五月丁香亭亭A片| 亚洲欧州色情在线观看| 丁香五月婷婷激情97| 五月丁香在线婷婷蜜桃| 亚洲V国产V欧美V久久久久久| 五月天婷综合网站| 六月丁丁香| 亚洲熟妇AV综合网五月丁香伊人| 婷婷久久五月| 精品婷婷五月天| 日本不卡一区二区三区| www.狠狠干| 亚洲99热| 中文av网站| 99re久热只有精品6在线直播.com|