精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Dotnet 6.0,你值得擁有

開發(fā) 后端
匿名對象的出現(xiàn),給我們帶來了相當(dāng)多的方便。在類中,不需要對外輸出的結(jié)構(gòu)化數(shù)據(jù),都可以做成匿名對象,而不需要預(yù)先定義一個數(shù)據(jù)對象。

[[421877]]

本文轉(zhuǎn)載自微信公眾號「老王Plus」,作者老王Plus的老王。轉(zhuǎn)載本文請聯(lián)系老王Plus公眾號。

最近在研究 Dotnet 6.0 & C# 10,一個字 - 爽!

下面,分享一下新的一些特性給大家。

一、編程語言方面

編程語言升到 C# 10,新東西不少。

1. 屬性的 required

看一個簡單的例子:

  1. public class User 
  2.   public string name { get; set; } 
  3.   public DateTime dateOfBirth { get; set; } 

假設(shè),我們希望 dateOfBirth 字段必須輸入。在 C# 9.0 之前,其實(shí)我們沒有更好的辦法。比方:

  1. var myUser = new User() 
  2.   name = "WangPlus"

這樣寫,編譯器是不會給出任何提醒或警告的。因此,我們需要在各個使用的地方,加上字段賦值的檢查。

而在最新的語言中,對于這樣的需求,增加了一個 required 屬性。看代碼:

  1. public class User 
  2.   public string name { get; set; } 
  3.   public required DateTime dateOfBirth { get; set; } 

這時候,當(dāng)你實(shí)例化 User,而沒有給 dateOfBirth 賦值時,編譯器會直接扔出異常。

在我寫這個文章的同時,剛剛發(fā)現(xiàn)這個特性從最新的 preview 里給移除了,似乎微軟想把這個放到 C# 11中。目前論壇上吵翻了。我們靜待一下結(jié)果。

2. 屬性的 field

在大多數(shù)情況下,我們定義一個類,會采用這種方式:

  1. public class User 
  2.   public string name { get; set; } 
  3.   public DateTime dateOfBirth { get; set; } 

但有時候,因?yàn)橐恍┬枰枰崆皩?shí)例化,或者實(shí)例化時需要進(jìn)行某些處理。比方上面的類,我們只想要 dateOfBirth 的日期部分,我們會把類做成這個樣子:

  1. public class User 
  2.   public string name { get; set; } 
  3.  
  4.   private DateTime _dateOfBirth; 
  5.   public DateTime dateOfBirth  
  6.   {  
  7.     get 
  8.     { 
  9.       return _dateOfBirth; 
  10.     } 
  11.     set 
  12.     { 
  13.       _dateOfBirth = value.Date
  14.     } 
  15.   } 

當(dāng)然,習(xí)慣了也沒什么麻煩的。不過我們知道,_dateOfBirth 這個私有屬性其實(shí)是一個中間數(shù)據(jù),對外沒有用處,但會占用實(shí)例資源。

現(xiàn)在,有了一個中間屬性,叫 field。代碼會變成這樣:

  1. public class User 
  2.   public string name { get; set; } 
  3.   public DateTime dateOfBirth { get; set => field = value.Date; } 

嗯嗯,可讀性就高了不少。

3. 匿名對象的 with

匿名對象的出現(xiàn),給我們帶來了相當(dāng)多的方便。在類中,不需要對外輸出的結(jié)構(gòu)化數(shù)據(jù),都可以做成匿名對象,而不需要預(yù)先定義一個數(shù)據(jù)對象。

看代碼:

  1. var myUser = new { name = "WangPlus", gender = "Male" }; 

嗯。真的很方便。

不過,也有不方便的地方,就是匿名對象的傳遞。比方,我們想創(chuàng)建另一個對象 myUser1,屬性還是這些,僅僅需要改變幾個屬性的值,怎么辦?在以前,沒有別的辦法,只能重寫一個:

  1. var myUser1 = new { name = "WangPlus1", gender = "Male" }; 
  2. /** 或者 **/ 
  3. var myUser1 = new { name = "WangPlus1", gender = myUser.gender }; 

可以想象,如果這個匿名對象字段很多的話,就會麻煩的不要不要的。

現(xiàn)在有了 with,這個事情就簡單了:

  1. var myUser1 = myUser with { name = "WangPlus1" }; 

注意,這個寫法,不是把 myUser 里的屬性改了,而是新生成了一個實(shí)例,并傳遞了 myUser 的全部屬性和值到新實(shí)例 myUser1,然后才是把一些屬性的值改成新的值。

4. 非空參數(shù)檢查

在我們寫一個方法時,成熟的程序員,都會做參數(shù)的非空檢查:

  1. public string FormatName( string name ) 
  2.   if( string.isNullOrEmpty( name ) ) 
  3.     return "ERROR"
  4.   /** ... **/ 
  5. public string FormatUser( User user ) 
  6.   if( user == null ) 
  7.     return "ERROR"
  8.   /** ... **/ 

做法很正確,但很麻煩,一個套路性的東西,卻要不停的寫。

現(xiàn)在,有了一個神參數(shù):!,沒錯,就是嘆號。

寫法是這樣:

  1. public string FormatName( string name! ) 
  2.   /** ... **/ 
  3. public string FormatUser( User user! ) 
  4.     /** ... **/ 

加上 ! 后,執(zhí)行中,程序會自動檢查參數(shù)的非空狀態(tài),如果出現(xiàn) null,會拋出 ArgumentNullExceptions。

5. global using

這是最爽的一個特性。

以前我們寫代碼,每個文件前邊,都有無數(shù)個 using,而且很多 using 都是重復(fù)的。

現(xiàn)在,C# 10 提供了一個 global 關(guān)鍵字。從此,using 變成了:

  1. global using System; 
  2. global using System.Collections.Generic; 
  3. global using System.Threading.Tasks; 

系統(tǒng)會識別 global using 后邊的內(nèi)容會應(yīng)用于整個項目。因此,在其它文件中,如果需要使用時,可以不寫對應(yīng)的 using ,直接寫代碼即可。

再因此,可以把所有的 global using 放到一個單獨(dú)的文件中,而在其它文件中,不需要再做 using 引用。

同時,如果已經(jīng)存在 global using,而你的文件中又寫了同樣庫的 using,系統(tǒng)會扔出一個警告。

6. 文件級的命名空間 namespace

這個特性好像沒有省了多少事。不過,也算是一個變化。

以前我們做代碼時,是這樣:

  1. namespace MyNamespace 
  2.     public class User 
  3.     { 
  4.         public void User()   
  5.     { 
  6.             //...Method implementation 
  7.         } 
  8.     } 

外部調(diào)用時,就這么寫:

  1. var obj = new MyNamespace.User(); 
  2. /** 或者 **/ 
  3. using MyNamespace; 
  4. var obj = new User(); 

現(xiàn)在,命令空間的定義改成了:

  1. namespace MyNamespace; 
  2. public class User 
  3.   public void User()     
  4.   { 
  5.     //...Method implementation 
  6.   } 

這樣寫,清爽了一些,縮進(jìn)的層次也少了一層。當(dāng)然,調(diào)用還是一樣的。

二、API方面

API 方面就更多了。在社區(qū)里,不停的會有新的 API 爆出來。我就選一些自己感覺有用的來說。

1. 非流式讀寫文件

流式讀寫,經(jīng)常會涉及到中間流,資源浪費(fèi)不說,寫起來也麻煩。

現(xiàn)在可以直接用底層 IO 來讀寫。方法加到了 File 類中。

  1. var handler = File.OpenHandle("abc.txt"); 
  2. var length = RandomAccess.GetLength(handler); 

2. 強(qiáng)隨機(jī)數(shù)

我們知道,以前的隨機(jī)數(shù) Random 類是弱隨機(jī)數(shù),來自于一個算法,并不能做到真正的隨機(jī)。生成的隨機(jī)數(shù)序列取決于種子,相同的種子會產(chǎn)生相同的隨機(jī)數(shù)序列。

所以,為了取到不同的隨機(jī)數(shù)序列,我們一般這么寫:

  1. var rand = new Random( (int)DateTime.Now.Ticks ); 

當(dāng)然,一般這樣也就夠了。但總有特殊的,需要真正的隨機(jī)數(shù),即強(qiáng)隨機(jī)數(shù)。Dotnet Core 6.0 里,提供了一個 RandomNumberGenerator 的類。

  1. byte[] bytes = RandomNumberGenerator.GetBytes(200); 
  2. int randomInt = RandomNumberGenerator.GetInt32(0, 10000); 

另外需要注意一下,這個類不在 System 空間下,而在 System.Security.Cryptography 里。

3. 多任務(wù)的異步 Parallel.ForEachAsync

在多任務(wù)中,以前只有一個 Parallel.ForEach 的方法,用來同步執(zhí)行。這回終于把異步方法 Parallel.ForEachAsync 加進(jìn)來了,足以可見微軟在異步方面的深化決心。

寫法還是我們很熟悉的方式,這個切換很容易:

  1. var urls = new [] 
  2.   "https://test1.com"
  3.   "https://test2.com" 
  4. }; 
  5. var client = new HttpClient(); 
  6. await Parallel.ForEachAsync(urls, async (url, token) => 
  7.     HttpResponseMessage response = await client.GetAsync(url); 
  8. }); 

4. 定時中止異步

這也是個不錯的 API。

以前當(dāng) await 異步進(jìn)程時,如果這個進(jìn)程長時間結(jié)束不了,我們只能通過 CancellationToken 來結(jié)束。現(xiàn)在,我們有了另一個方式,可以設(shè)置一個時間,以 Timeout 的方式結(jié)束這個異步進(jìn)程。

  1. Task someTask = SomeLongRunningTaskAsync(); 
  2. await someTask.WaitAsync(TimeSpan.FromSeconds(10)); 

如果你寫過 CancellationToken 結(jié)束異步的代碼,就知道這個 WaitAsync 有多好。

5. ThrowIfNull

這個東西,其實(shí)跟上面判斷參數(shù)是否為空是一件事。當(dāng)我們在參數(shù)據(jù)后面加 !來進(jìn)行為空判斷時,實(shí)際就是執(zhí)行的這一句:

  1. public string FormatUser( User user ) 
  2.     ArgumentNullException.ThrowIfNull( user ); 

如果對象為空,就拋出一個 ArgumentNullException。

6. 使用直接內(nèi)存

在以前,使用 unsafe 內(nèi)存 malloc 時,都是在堆上分配空間。現(xiàn)在有了一個在直接內(nèi)存分配空間的方法:

  1. using System.Runtime.InteropServices; 
  2. unsafe 
  3.     byte* buffer = (byte*)NativeMemory.Alloc(128); 
  4.     NativeMemory.Free(buffer); 

做嵌入式開發(fā),有福了。

另外,通常使用非托管內(nèi)容,需要進(jìn)行大小對齊。所謂對齊就是分配的空間的大小需要是 2 的整指數(shù)。通常大家就是算好直接硬寫,現(xiàn)在也有了更靈活的方式:

  1. using System.Numerics; 
  2.  
  3. uint bufferSize = 211; 
  4. if (!BitOperations.IsPow2(bufferSize)) 
  5.     bufferSize = BitOperations.RoundUpToPowerOf2(bufferSize); 

給一個空間,如果空間大小不是 2 的整指數(shù),就找比這個數(shù)大的 2 的整指數(shù)。又省事了。

7. 新的計時器

好多文章都把這個計時器稱為 Modern Timer,足以可見它的好。

好在哪?這是一個異步的計時器。

以前的計時器 Timer,不管是 System.Timers 下的,還是 System.Threading 下的,或是 System.Windows.Forms 下的,都是同步的計時器,需要用 Tick 的事件綁定來實(shí)現(xiàn)回調(diào)。這個方式讓這個計時器十分依賴上級對象的生命周期,以至于在 UI 編程中,需要用 Invoke 來引入回調(diào)響應(yīng)。

現(xiàn)在這個就簡單很多了:

  1. var timer = new PeriodicTimer(TimeSpan.FromSeconds(1)); 
  2. while (await timer.WaitForNextTickAsync()) 
  3.     /** ... **/ 

這個寫法,看著就舒服。

 

寫了很多,但實(shí)際上,也只是冰山的一小角。

 

責(zé)任編輯:武曉燕 來源: 老王Plus
相關(guān)推薦

2023-12-29 08:17:26

Python代碼分析Profile

2021-01-21 09:45:16

Python字符串代碼

2021-07-05 09:40:57

工具Node開源

2021-03-18 07:52:42

代碼性能技巧開發(fā)

2020-12-14 13:32:40

Python進(jìn)度條參數(shù)

2020-10-09 11:54:33

Vue用戶的React

2024-01-04 08:33:11

異步JDK數(shù)據(jù)結(jié)構(gòu)

2024-12-18 16:53:13

ncduLinux磁盤分析

2020-09-01 07:41:56

macOS工具

2014-12-19 10:55:17

Linux性能監(jiān)控

2021-12-29 07:44:50

Dotnet 代碼系統(tǒng)

2020-03-08 13:24:47

JavaScript開發(fā)

2022-01-18 16:42:03

區(qū)塊鏈加密信息資源

2020-06-15 14:43:16

Python開發(fā)工具

2020-02-03 12:25:35

Python工具服務(wù)器

2011-10-08 10:15:29

Web

2016-07-28 09:37:30

開源協(xié)作軟件Collabtive

2013-07-05 16:08:40

開發(fā)效率

2020-05-09 08:58:53

插件Android Stu開發(fā)工具

2020-04-23 16:04:25

代碼編輯器工具程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

日韩欧乱色一区二区三区在线| 亚洲av片在线观看| 夜间精品视频| 亚洲成人网av| 91日韩视频在线观看| 日韩美女网站| av亚洲精华国产精华| 国产精品va在线| 久久在线视频精品| 欧美精品乱码| 亚洲国产精品网站| 亚洲va在线va天堂va偷拍| 污视频网站免费在线观看| 99精品热视频| 成人免费视频在线观看超级碰| 日韩乱码人妻无码中文字幕| 三上亚洲一区二区| 亚洲黄色成人网| 国产女同无遮挡互慰高潮91| 2020日本在线视频中文字幕| 国产精品毛片久久久久久久| 国产伦精品一区二区三区在线| 中文字幕理论片| 亚洲精选国产| 欧美老少做受xxxx高潮| 天堂久久精品忘忧草| 2020最新国产精品| 欧美精品国产精品| 日韩中文字幕免费在线 | 深夜福利一区二区| 日韩精品一区二区三区高清免费| **国产精品| 在线观看网站黄不卡| 国产二级片在线观看| av激情在线| 亚洲特黄一级片| 亚洲综合欧美日韩| se在线电影| 久久婷婷成人综合色| 国产一区二区久久久| 亚洲精品第五页| 国产精品一区免费在线观看| 国产噜噜噜噜噜久久久久久久久 | 欧美日韩五月天| 超碰97人人射妻| 9i看片成人免费高清| 一区二区三区.www| 香蕉视频在线网址| 里番在线观看网站| 中文字幕亚洲一区二区va在线| 日产国产精品精品a∨| 欧洲视频在线免费观看| 99久久精品国产一区| 国产精品18毛片一区二区| 国产福利第一页| 国产老肥熟一区二区三区| 国产玖玖精品视频| 国产美女明星三级做爰| 国产一区999| www.一区二区三区| 日本激情视频网站| 久久一区二区三区国产精品| 欧美一区二区三区电影在线观看| 男人的天堂在线视频| 国产三级欧美三级日产三级99| 欧美精品与人动性物交免费看| 你懂的免费在线观看| 国产日韩欧美精品一区| 日韩午夜视频在线观看| 2019中文字幕在线视频| 亚洲天堂久久久久久久| 久久久久福利视频| 蜜臀av国内免费精品久久久夜夜| 亚洲福利一区二区三区| 成人三级视频在线播放| 国产第一亚洲| 日韩精品专区在线影院观看| 日韩av无码一区二区三区不卡| 欧美日韩一区二区三区四区不卡| 亚洲日本中文字幕| 影音先锋男人资源在线观看| 最新国产精品| 91精品国产高清自在线看超| 五月婷婷激情视频| 久久99热这里只有精品| 国产精品成人观看视频免费| 五月天婷婷社区| 国产女同互慰高潮91漫画| www.黄色网址.com| а√在线中文网新版地址在线| 一本大道久久a久久精品综合 | 福利一区福利二区| 精品久久久久久亚洲| 大片免费播放在线视频| 亚洲免费在线电影| 精品一卡二卡三卡| 国产精品久久久久久久久久久久久久久| 精品国产髙清在线看国产毛片| 日韩乱码人妻无码中文字幕久久| 久久久久久久久久久久久久久久久久| 国外成人在线播放| 91尤物国产福利在线观看| 成人av免费在线观看| 亚洲国产一区二区在线| 国产在线xxx| 欧美三级一区二区| av在线播放网址| 91一区在线| 日韩av电影手机在线观看| 91美女精品网站| 久久久久综合网| av网站手机在线观看| 超碰这里只有精品| 精品调教chinesegay| 顶臀精品视频www| 日韩精品一二区| 国产综合第一页| av网址在线| 一本色道亚洲精品aⅴ| 26uuu国产| 91超碰成人| 国产精品视频地址| 男人天堂亚洲二区| 欧美日韩在线影院| 少妇激情一区二区三区视频| 91综合视频| 国产精品永久免费观看| 日本免费不卡| 亚洲大片一区二区三区| 被黑人猛躁10次高潮视频| 欧美日韩国产在线观看网站| 538国产精品一区二区在线| 亚洲高清视频网站| 一区二区三区四区在线免费观看| 特级丰满少妇一级| 欧美日韩在线网站| 国产国语videosex另类| 亚洲av电影一区| 精品久久久久久久久国产字幕 | 中文字幕精品无码亚| 久久久综合激的五月天| 99精品在线免费视频| jazzjazz国产精品久久| 欧美另类交人妖| 99在线无码精品入口| 国产精品狼人久久影院观看方式| 国产视频一区二区视频| 国产精选一区| 国产成人精品日本亚洲专区61| 亚洲AV第二区国产精品| 欧美特级www| 丰满少妇高潮一区二区| 欧美在线综合| 日韩电影大全在线观看| h1515四虎成人| 日韩在线观看你懂的| 亚洲一区二区三区高清视频| 国产精品久久久久久妇女6080| 成人亚洲精品777777大片| 成人综合一区| 成人国产精品久久久| 黄色网页网址在线免费| 日韩片之四级片| 日本三级片在线观看| eeuss影院一区二区三区| 熟女少妇在线视频播放| 精品久久久久久久| 成人免费福利视频| 丰满诱人av在线播放| 亚洲精品成a人在线观看| 黄色在线免费观看| 中文字幕制服丝袜成人av| 国产大片一区二区三区| 在线欧美视频| 奇米影视首页 狠狠色丁香婷婷久久综合| 神马久久资源| 久久视频在线看| 黄色av网址在线| 日本高清无吗v一区| 成年人网站在线观看视频| 国产凹凸在线观看一区二区| 国产av麻豆mag剧集| 欧美三级情趣内衣| 99re6热在线精品视频播放速度| 91在线超碰| 最好看的2019年中文视频| 99在线观看免费| 日韩欧美亚洲范冰冰与中字| 男女男精品视频网站| 国产成人精品一区二| 337p粉嫩大胆噜噜噜鲁| 99视频精品全部免费在线视频| 成人影片在线播放| 香蕉成人影院| 97视频在线观看免费| 在线观看麻豆蜜桃| 亚洲第一福利网站| 一区二区小视频| 欧美日韩性视频在线| 国产一二三av| 久久综合九色综合97_久久久| 亚洲一级片网站| 亚洲一区网站| 91国在线高清视频| 成人av动漫在线观看| 国产免费一区二区| 成人51免费| 国产精品久久久亚洲| 精精国产xxxx视频在线中文版| 一区二区三区 在线观看视| 蜜桃91麻豆精品一二三区| 欧美在线一二三| 日本午夜视频在线观看| 亚洲欧美成aⅴ人在线观看| 干b视频在线观看| 不卡影院免费观看| 丰满人妻一区二区三区大胸| 日本大胆欧美人术艺术动态| 狠狠97人人婷婷五月| 欧美片第1页综合| 中日韩在线视频| 国内精品久久久久久久久电影网| 精品久久久三级| 91精品国产乱码久久久竹菊| 91精品国产自产在线观看永久| 久久uomeier| 97超级碰在线看视频免费在线看 | 五月天福利视频| 日韩精品一区二区在线观看| 亚洲一区 中文字幕| 91成人免费网站| 在线免费黄色av| 亚洲www啪成人一区二区麻豆 | 动漫精品一区二区| 99精品视频99| 亚洲成av人片一区二区| 久久精品波多野结衣| 亚洲欧美视频在线观看视频| 日本视频在线免费| 国产精品美女一区二区在线观看| 色一情一交一乱一区二区三区 | 91精品国产高清一区二区三区蜜臀| 国产精品免费无遮挡无码永久视频| 性做久久久久久| 日本天堂网在线观看| 亚洲国产综合人成综合网站| 免费在线黄色片| 亚洲午夜在线电影| 久久久久无码国产精品不卡| 一片黄亚洲嫩模| 精品亚洲永久免费| 亚洲高清免费视频| 日本一级一片免费视频| 欧美日韩国产精品专区| 国产a∨精品一区二区三区仙踪林| 亚洲va欧美va国产va天堂影院| 国产精品第9页| 欧美视频在线免费看| 精品久久久久久久久久久国产字幕| 色猫猫国产区一区二在线视频| 国产69精品久久久久久久久久| 色综合久久久久综合体| 国产一卡二卡三卡| 在线播放中文一区| 99精品人妻无码专区在线视频区| 欧美电影免费提供在线观看| 亚洲经典一区二区三区| 亚洲另类xxxx| 9191在线| 久久久亚洲精品视频| 性爽视频在线| 国产一区香蕉久久| www.久久东京| 日韩精品一区二区三区外面| 日韩精品1区| 日本a在线天堂| 午夜亚洲性色福利视频| 在线看的黄色网址| 国产suv精品一区二区三区| 国产麻豆xxxvideo实拍| 国产三级精品视频| 国产少妇在线观看| 欧美午夜视频一区二区| 中文字幕欧美色图| 亚洲大尺度美女在线| 毛片免费在线观看| 欧美成人性生活| 亚洲天堂资源| 91老司机在线| 蜜乳av综合| 国产午夜精品视频一区二区三区| 国产亚洲一区在线| 午夜大片在线观看| 久久婷婷国产综合精品青草| 艳妇荡乳欲伦69影片| 日韩欧美在线国产| www.国产视频| 国产一区二区三区在线播放免费观看 | 国产电影一区二区三区| 在线观看日韩精品视频| 亚洲另类在线视频| 中文字幕av影视| 精品国产乱码久久久久久闺蜜| 成人网视频在线观看| 国外色69视频在线观看| 日韩毛片免费看| 欧美乱偷一区二区三区在线| 欧美在线观看天堂一区二区三区| 亚洲成熟丰满熟妇高潮xxxxx| 国产白丝精品91爽爽久久 | 美女欧美视频在线观看免费| 久久精品最新地址| 精品欧美一区二区三区在线观看| 成人永久免费| 亚洲成人精选| 日韩一级理论片| 91色婷婷久久久久合中文| 福利所第一导航| 制服丝袜日韩国产| 阿v免费在线观看| 日本欧美精品在线| 欧美美女啪啪| 亚洲精品少妇一区二区| 精东粉嫩av免费一区二区三区| 久久久久久久久久久久| 黑人巨大精品欧美一区二区| 亚洲精品综合网| 欧美日韩爱爱视频| 精品国产三级| 影音先锋男人的网站| 免费看欧美女人艹b| 国产伦理片在线观看| 色就色 综合激情| 九色在线视频蝌蚪| 日本久久91av| 经典一区二区| 日韩中文字幕二区| 久久久噜噜噜久噜久久综合| 日产精品久久久| 精品亚洲永久免费精品| 免费h在线看| 久久精品欧美| 久久这里只有| 极品蜜桃臀肥臀-x88av| 欧美艳星brazzers| 日本不卡不卡| 91在线看www| 国产精品videossex久久发布| gogo亚洲国模私拍人体| 亚洲精品va在线观看| 亚洲精品国偷拍自产在线观看蜜桃| 欧美久久久精品| 国内精品麻豆美女在线播放视频| 日韩免费在线观看av| 成人激情黄色小说| 中文字幕亚洲精品在线| 亚洲天堂网站在线观看视频| 最新日韩一区| www.午夜色| 国产精品中文欧美| 久久亚洲国产成人精品性色| 亚洲成人亚洲激情| 在线观看精品| 中文字幕欧美人与畜| 国产乱码字幕精品高清av| 国产一级二级三级| 亚洲精品中文字幕女同| 成人免费网站www网站高清| 亚洲精品一卡二卡三卡四卡| 国产一区二区看久久| 亚洲一区 视频| 亚洲欧美日本精品| 日韩综合久久| 美女扒开大腿让男人桶| 91丨九色丨尤物| 91在线公开视频| 午夜精品一区二区三区在线视频 | 久久视频免费观看| 2021年精品国产福利在线| 成年人视频观看| 国产精品久久看| 免费看日韩av| 国产精品日韩在线| 伊人久久亚洲美女图片| 欧美成人国产精品一区二区| 欧美一区二区在线不卡| 正在播放日韩精品| 中日韩在线视频| www日韩大片| 国产av无码专区亚洲av| 欧美专区中文字幕| 综合天堂av久久久久久久| 欧美精品欧美极品欧美激情| 欧美日韩高清不卡| 日本乱码一区二区三区不卡| 在线不卡视频一区二区| 2019国产精品| 亚洲卡一卡二卡三| 成人性生交xxxxx网站| 亚洲在线观看|