3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 7 中的模范和实践

發布時間:2023/12/4 C# 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 7 中的模范和实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:https://www.infoq.com/articles/Patterns-Practices-CSharp-7

關鍵點

  • 遵循 .NET Framework 設計指南,時至今日,仍像十年前首次出版一樣適用。

  • API 設計至關重要,設計不當的API大大增加錯誤,同時降低可重用性。

  • 始終保持"成功之道":只做正確的事,避免犯錯。

  • 去除 "line noise" 和 "boilerplate" 類型的代碼以保持關注業務邏輯

  • 在為了性能犧牲而可讀性之前請保持清醒

C# 7 一個主要的更新是帶來了大量有趣的新特性。雖然已經有很多文章介紹了 C# 7 可以做哪些事,但關于如何用好 C# 7 的文章還是很少。遵循?.NET Framework設計指南中?的原則,我們首先通過下面的策略,獲取這些新特性的最佳做法。


元組返回結果

在 C# 以往的編程中,從一個函數中返回多個結果可是相當的乏味。Output 關鍵詞是一種方法,但如果對于異步方法不適用。Tuple<T>(元組) 盡管啰嗦,又要分配內存,同時對于其字段又不能有描述性名稱。自定義的結構優于元組,但在一次性代碼中濫用會產生垃圾代碼。最后,匿名類型和動態類型(dynamic) 的組合非常慢,又缺乏靜態類型檢查。
所有的這一切問題,在新的元組返回語法中得到了解決。下面是舊語法的例子:

public (string, string) LookupName(long id) // tuple return type

{

? ? return ("John", "Doe"); // tuple literal

}

var names = LookupName(0);

var firstName = names.Item1;

var lastName = names.Item2;

這個函數真是的返回類型是 ValueTuple<string, string>。顧名思義,這是類似 Tuple<T> 類的輕量級結構。這解決了類型膨脹的問題,但和 Tuple<T> 同樣缺失了描述性名稱。

public (string First, string Last) LookupName(long id) var names = LookupName(0);var firstName = names.First;var lastName = names.Last;

返回的類型仍然是 ValueTuple<string, string>,但現在編譯器為函數添加了TupleElementNames 屬性,允許代碼使用描述性名稱而不是 Item1/Item2。

警告:TupleElementNames 屬性只能被編譯器使用。如果在返回類型上使用反射,則只能看到 ValueTuple<T> 結構。因為這些屬性在函數返回結果的時候才會出現,相關的信息是不存在的。

編譯器盡所能地為這些臨時的類型維持一種幻覺。例如,考慮下面這些聲明:

var a = LookupName(0); (string First, string Last) b = LookupName(0); ValueTuple<string, string> c = LookupName(0); (string make, string model) d = LookupName(0);

從編譯器來看,a 是一種像 b 的 (string First, string Last) 類型。 由于 c 明確聲明為 ValueTuple<string, string>類型,所以沒有 c.First 的屬性。
d 說明了這種設計帶來的破壞,導致失去類型安全。很容易不小心重命名字段,會將一個元組分配給一個恰好具有相同形狀的元組。重申一下,這是因為編譯器不會認為 (string First, string Last) 和 (string make, string model) 是不同的類型。


ValueTuple 是可變的

關于 ValueTuple 的一個有趣的看法:它是可變的。Mads Torgersen 解釋了原因:

下面的原因解釋了可變結構為何經常是壞的設計,請不要用于元組。
如果您以常規方式封裝可變結構體,使用私有、公共的訪問器,那么您將遇到一些意外驚嚇。原因是盡管這些結構體被保存在只讀變量中,訪問器將悄悄在結構體的副本中生效!

然而,元組只有公共的、可變的字段。由于這種設計沒有訪問器,因此不會有上述現象帶來的風險。

再且因為它們是結構體,當它們被傳遞時會被復制。線程之間不直接共享,也不會有 “共享可變狀態” 的風險。這與 System.Tuple 系列的類型相反,為了線程安全需要保證其不可變。

[譯者]:Mutator的翻譯參考https://en.wikipedia.org/wiki/Mutator_method#C.23_example,為 C# 中的訪問器

注意他說的是“字段”,而不是“屬性”。這可能會導致基于反射的庫會有問題,這將對返回元組結果的方法造成毀滅。

元組返回結果指南

? 當返回結果的列表字段很小且永不會改變時,考慮使用元組返回結果而不是 out 參數。
? 在元組返回結果中使用帕斯卡(PascalCase)來命名描述性字段。這使得元組字段看起來像普通類和結構體上的屬性。
? 在讀取元組返回值時不要使用var來解構(deconstructing) ,避免意外搞錯字段。
? 期望的返回值中用到反射的避免使用元組。
? 在公開的 APIs 中請不要使用元組返回結果,如果在將來的版本中需要返回其他字段,將字段添加到元組返回結果具有破壞性。

(譯者:deconstructing 的翻譯參考?https://zhuanlan.zhihu.com/p/25844861?中對deconstructing的翻譯,下面的部分名詞也是如此)


解構多值返回結果

回到 LookupName 的示例, 創建一個名稱變量似乎有點惱人,只能在被局部變量單獨替換之前立即使用它。C#7 也使用所謂的 “解構” 來解決這個問題。語法有幾種變形:

(string first, string last) = LookupName(0); (var first, var last) = LookupName(0);var (first, last) = LookupName(0); (first, last) = LookupName(0);

在上面示例的最后一行,假定變量 first 和 last 已經事先被聲明了。


解構器

盡管名字很像 “析構(destructor)”,但解構器與對象銷毀無關。正如構造函數將獨立的值組合成一個對象一樣,解構器同樣是組合和分解對象。解構器允許任何類提供上述的解構語法。讓我們來分析一下 Rectangle 類,它有這樣的構造函數:

public Rectangle(int x, int y, int width, int height)

當你在一個新的實例中調用 ToString 時,你會得到"{X=0,Y=0,Width=0,Height=0}"。結合這兩個事實,我們知道了在自定義的解構函數中對字段排序。

public void Deconstruct(out int x, out int y, out int width, out int height)

{

? ? x = X;

? ? y = Y;

? ? width = Width;

? ? height = Height;

}?


var (x, y, width, height) = myRectangle;

Console.WriteLine(x);

Console.WriteLine(y);

Console.WriteLine(width);

Console.WriteLine(height);

你可能會好奇為什么使用 output 參數,而不是元組。一部分原因是性能,這樣就減少了需要復制的數量。但最主要的原因是微軟還為重載打開了一道門。
繼續我們的研究,注意到 Rectangle 還有第二個構造函數:

public Rectangle(Point location, Size size);

我們同樣為它匹配一個解構方法:

public void Deconstruct(out Point location, out Size size);var (location, size) = myRectangle;

有多少個不同數量的構造參數就有多少個解構函數。即使你顯式地指出類型,編譯器也無法確定有哪些解構方法可以使用。
在 API 設計中,結構通常能從解構中受益。類,特別是模型或者DTOs,如 Customer 和 Employee 可能不應該有解構方法,它們沒有方法解決諸如:"應該是 (firstName, lastName, phoneNumber, email)" 還是 " (firstName, lastName, email, phoneNumber)" 的問題。某種程度來說,大家都應該開心。


解構器指南

? 考慮在讀取元組返回值時使用解構,但要注意避免搞錯順序的錯誤。
? 為結構提供自定義的解構方法。
? 記得匹配類的構造函數中字段的順序,重寫 ToString 。
? 如果結構具有多個構造函數,考慮提供對應的解構方法。
? 考慮立即解構大值元組。大值元組的總大小超過16個字節,這可能帶來多次復制的昂貴代價。請注意,引用類型的變量在32位操作系統中的大小總是4字節,而在64位操作系統是8字節。
? 當不知道在類中字段應以何種方式排序時,請不要使用解構方法。
? 不要聲明多個具有同等數量參數的解構方法。

Out 變量

C# 7 為 帶有 "out" 變量的調用函數提供了兩種新的語法選擇?,F在可以在函數調用中這樣聲明變量。

if (int.TryParse(s, out var i)) {Console.WriteLine(i); }

另一種選擇是完全使用"下劃線",忽略out 變量。

if (int.TryParse(s, out _)) {Console.WriteLine("success"); }

如果你使用過 C# 7 預覽版,可能會注意到一點:對被忽略的參數使用星號(*)已被更改為用下劃線。這樣做的部分原因是在函數式編程中通常出于同樣的目的使用了下劃線。其他類似的選擇包括諸如"void" 或者 "ignore" 的關鍵字。
使用下劃線很方便,同時意味著 API中的設計缺陷。在大多數情況中,更好的方法是對忽視的 out 參數簡單地提供一個方法重載。


Out 變量指南

? 考慮用元組返回值替代 out參數。
? 盡量避免使用 out 或者 ref 參數。[詳情見?框架設計指南?]
? 考慮對忽視的 out 參數提供重載,這樣就不需要用下劃線了。

局部方法和迭代器

局部方法是一個有趣的概念。乍一看,就像是創建匿名方法的一種更易讀的語法。下面看看他們的不同。

public DateTime Max_Anonymous_Function(IList<DateTime> values)

{

? ? Func<DateTime, DateTime, DateTime> MaxDate = (left, right) =>

? ? {

? ? ? ? return (left > right) ? left : right;

? ? };


? ? var result = values.First();

? ? foreach (var item in values.Skip(1))

? ? ? ? result = MaxDate(result, item);

? ? return result;

}


public DateTime Max_Local_Function(IList<DateTime> values)

{

? ? DateTime MaxDate(DateTime left, DateTime right)

? ? {

? ? ? ? return (left > right) ? left : right;

? ? }


? ? var result = values.First();

? ? foreach (var item in values.Skip(1))

? ? ? ? result = MaxDate(result, item);

? ? return result;

}

然而,一旦你開始深入了解,一些有趣的內容將會浮現。


匿名方法 vs. 局部方法

當你創建一個普通的匿名方法時,總是會創建一個對應的隱藏類來存儲該匿名方法。該隱藏類的實例將被創建并存儲在該類的靜態字段中。因此,一旦創建,沒有額外的開銷。
反觀局部方法,不需要隱藏類。相反,局部方法表現為其靜態父方法。

閉包

如果您的匿名方法或局部方法引用了外部變量,則產生"閉包"。下面是示例:

public DateTime Max_Local_Function(IList<DateTime> values)

{

? ? int callCount = 0;


? ? DateTime MaxDate(DateTime left, DateTime right)

? ? {

? ? ? ? callCount++; <--The variable callCount is being closed over.

? ? ? ? return (left > right) ? left : right;

? ? }


? ? var result = values.First();

? ? foreach (var item in values.Skip(1))

? ? ? ? result = MaxDate(result, item);

? ? return result;

}

對于匿名方法來說,隱藏類每次創建新實例時都要求外部父方法被調用。這確保每次調用時,會在父方法和匿名方法共享數據副本。
這種設計的缺點是每次調用匿名方法需要實例化一個新對象。這就帶來了昂貴的使用成本,同時加重垃圾回收的壓力。
反觀局部方法,使用隱藏結構取代了隱藏類。這就允許繼續存儲上一次調用的數據,避免了每次都要實例化對象。與匿名方法一樣,本地方法實際存儲在隱藏結構中。


委托

創建匿名方法或局部方法時,通常會將其封裝到委托,以便在事件處理程序或者 LINQ 表達式中調用。
根據定義,匿名方法是匿名的。所以為了使用它,往往需要當成委托存儲在一個變量或參數。
委托不可以指向結構(除非他們被裝箱了,那就是奇怪的語義)。所以如果你創建了一個委托并指向一個局部方法,編譯器將會創建一個隱藏類代替隱藏結構。如果該本地方法是一個閉包,那么每次調用父方法時都會創建一個隱藏類的新實例。


迭代器

在C#中,使用 yield 返回的 IEnumerable<T> 不能立即驗證其參數。相反,直到在匿名枚舉器中調用 MoveNext,才可以對其參數進行驗證。
這在 VB 中不是問題,因為它支持?匿名迭代器。下面有一個來自MSDN的示例:

Public Function GetSequence(low As Integer, high As Integer) _

As IEnumerable

? ? ' Validate the arguments.

? ? If low < 1 Then Throw New ArgumentException("low is too low")

? ? If high > 140 Then Throw New ArgumentException("high is too high")


? ? ' Return an anonymous iterator function.

? ? Dim iterateSequence = Iterator Function() As IEnumerable

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? For index = low To high

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yield index

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Next

? ? ? ? ? ? ? ? ? ? ? ? ? End Function

? ? Return iterateSequence()

End Function

在當前的 C# 版本中,GetSequence的迭代器需要完全獨立的方法。而在 C# 7中,可以使用本地方法實現。

public IEnumerable<int> GetSequence(int low, int high)

{

? ? if (low < 1)

? ? ? ? throw new ArgumentException("low is too low");

? ? if (high > 140)

? ? ? ? throw new ArgumentException("high is too high");


? ? IEnumerable<int> Iterator()

? ? {

? ? ? ? for (int i = low; i <= high; i++)

? ? ? ? ? ? yield return i;

? ? }


? ? return Iterator();

}

迭代器需要構建一個狀態機,所以它們的行為就像在隱藏類中作為委托返回閉包。

匿名方法和本地方法指南

? 當不需要委托時,使用局部方法代替匿名方法,尤其是涉及到閉包。
? 當返回一個需要驗證參數的 IEnumerator 時,使用局部迭代器。
? 考慮將局部方法放到方法的開頭或結尾處,以便與父方法區分來。
? 避免在性能敏感的代碼中使用帶委托的閉包,這適用于匿名方法和局部方法。


引用返回、局部引用以及引用屬性

結構具有一些有趣的性能特性。由于他們與其父數據結構一起存儲,沒有普通類的頭開銷。這意味著你可以非常密集地存儲在數組中,很少或不浪費空間。除了減少內存總體開銷外,還帶來了極大的優勢,使 CPU 緩存更高效。這就是為什么構建高性能應用程序的人喜歡結構。
但是如果結構太大的話,需要避免不必要的復制。微軟的指南建議為16個字節,足夠存儲2個 doubles 或者 4 個 integers。這不是很多,盡管有時可以使用位域 (bit-fields)來擴展。

局部引用

這樣做的一個方法是使用智能指針,所以你永遠不需要復制。這里有一些我仍然使用的ORM性能敏感代碼。

for (var i = 0; i < m_Entries.Length; i++)

{

? ? if (string.Equals(m_Entries[i].Details.ClrName, item.Key, StringComparison.OrdinalIgnoreCase)

? ? ? ? || string.Equals(m_Entries[i].Details.SqlName, item.Key, StringComparison.OrdinalIgnoreCase))

? ? {

? ? ? ? var value = item.Value ?? DBNull.Value;


? ? ? ? if (value == DBNull.Value)

? ? ? ? {

? ? ? ? ? ? if (!ignoreNullProperties)

? ? ? ? ? ? ? ? parts.Add($"{m_Entries[i].Details.QuotedSqlName} IS NULL");

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? m_Entries[i].ParameterValue = value;

? ? ? ? ? ? m_Entries[i].UseParameter = true;

? ? ? ? ? ? parts.Add($"{m_Entries[i].Details.QuotedSqlName} = {m_Entries[i].Details.SqlVariableName}");

? ? ? ? }


? ? ? ? found = true;

? ? ? ? keyFound = true;

? ? ? ? break;

? ? }

}

你會注意到的第一件事是沒有使用 for-each。為了避免復制,仍然使用舊式的 for 循環。即使如此,所有的讀和寫操作都是直接在 m_Entries 數組中操作。
使用 C# 7 的局部引用,明顯地減少混亂而不改變語義。

for (var i = 0; i < m_Entries.Length; i++)

{

? ? ref Entry entry = ref m_Entries[i]; //create a reference

? ? if (string.Equals(entry.Details.ClrName, item.Key, StringComparison.OrdinalIgnoreCase)

? ? ? ? || string.Equals(entry.Details.SqlName, item.Key, StringComparison.OrdinalIgnoreCase))

? ? {

? ? ? ? var value = item.Value ?? DBNull.Value;


? ? ? ? if (value == DBNull.Value)

? ? ? ? {

? ? ? ? ? ? if (!ignoreNullProperties)

? ? ? ? ? ? ? ? parts.Add($"{entry.Details.QuotedSqlName} IS NULL");

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? entry.ParameterValue = value;

? ? ? ? ? ? entry.UseParameter = true;

? ? ? ? ? ? parts.Add($"{entry.Details.QuotedSqlName} = {entry.Details.SqlVariableName}");

? ? ? ? }


? ? ? ? found = true;

? ? ? ? keyFound = true;

? ? ? ? break;

? ? }

}

這是因為 "局部引用" 真的是一個安全的指針。我們之所以說它 “安全” ,是因為編譯器指向不允許任何臨時變量,諸如普通方法的結果。
如果你很想知道 " ref var entry = ref m_Entries[i];" 是不是有效的語法(是的),無論如何也不能這么做,會造成混亂。 ref 既是用于聲明,又不會被用到。(譯者:這里應該是指 entry 的 ref 修飾吧)


引用返回

引用返回豐富了本地方法,允許創建無副本的方法。
繼續之前的示例,我們可以將搜索結果輸出推到其靜態方法。

對于匿名方法來說,隱藏類每次創建新實例時都要求外部父方法被調用。這確保每次調用時,會在父方法和匿名方法共享數據副本。
這種設計的缺點是每次調用匿名方法需要實例化一個新對象。這就帶來了昂貴的使用成本,同時加重垃圾回收的壓力。
反觀局部方法,使用隱藏結構取代了隱藏類。這就允許繼續存儲上一次調用的數據,避免了每次都要實例化對象。與匿名方法一樣,本地方法實際存儲在隱藏結構中。


委托

創建匿名方法或局部方法時,通常會將其封裝到委托,以便在事件處理程序或者 LINQ 表達式中調用。
根據定義,匿名方法是匿名的。所以為了使用它,往往需要當成委托存儲在一個變量或參數。
委托不可以指向結構(除非他們被裝箱了,那就是奇怪的語義)。所以如果你創建了一個委托并指向一個局部方法,編譯器將會創建一個隱藏類代替隱藏結構。如果該本地方法是一個閉包,那么每次調用父方法時都會創建一個隱藏類的新實例。


迭代器

在C#中,使用 yield 返回的 IEnumerable<T> 不能立即驗證其參數。相反,直到在匿名枚舉器中調用 MoveNext,才可以對其參數進行驗證。
這在 VB 中不是問題,因為它支持?匿名迭代器。下面有一個來自MSDN的示例:

?

在當前的 C# 版本中,GetSequence的迭代器需要完全獨立的方法。而在 C# 7中,可以使用本地方法實現。

?

迭代器需要構建一個狀態機,所以它們的行為就像在隱藏類中作為委托返回閉包。

匿名方法和本地方法指南

? 當不需要委托時,使用局部方法代替匿名方法,尤其是涉及到閉包。
? 當返回一個需要驗證參數的 IEnumerator 時,使用局部迭代器。
? 考慮將局部方法放到方法的開頭或結尾處,以便與父方法區分來。
? 避免在性能敏感的代碼中使用帶委托的閉包,這適用于匿名方法和局部方法。

引用返回、局部引用以及引用屬性

結構具有一些有趣的性能特性。由于他們與其父數據結構一起存儲,沒有普通類的頭開銷。這意味著你可以非常密集地存儲在數組中,很少或不浪費空間。除了減少內存總體開銷外,還帶來了極大的優勢,使 CPU 緩存更高效。這就是為什么構建高性能應用程序的人喜歡結構。
但是如果結構太大的話,需要避免不必要的復制。微軟的指南建議為16個字節,足夠存儲2個 doubles 或者 4 個 integers。這不是很多,盡管有時可以使用位域 (bit-fields)來擴展。

局部引用

這樣做的一個方法是使用智能指針,所以你永遠不需要復制。這里有一些我仍然使用的ORM性能敏感代碼。

?

你會注意到的第一件事是沒有使用 for-each。為了避免復制,仍然使用舊式的 for 循環。即使如此,所有的讀和寫操作都是直接在 m_Entries 數組中操作。
使用 C# 7 的局部引用,明顯地減少混亂而不改變語義。

?

這是因為 "局部引用" 真的是一個安全的指針。我們之所以說它 “安全” ,是因為編譯器指向不允許任何臨時變量,諸如普通方法的結果。
如果你很想知道 " ref var entry = ref m_Entries[i];" 是不是有效的語法(是的),無論如何也不能這么做,會造成混亂。 ref 既是用于聲明,又不會被用到。(譯者:這里應該是指 entry 的 ref 修飾吧)

引用返回

引用返回豐富了本地方法,允許創建無副本的方法。
繼續之前的示例,我們可以將搜索結果輸出推到其靜態方法。

?

static ref Entry FindColumn(Entry[] entries, string searchKey) { for (var i = 0; i < entries.Length; i++){ ref Entry entry = ref entries[i]; //create a referenceif (string.Equals(entry.Details.ClrName, searchKey, StringComparison.OrdinalIgnoreCase)|| string.Equals(entry.Details.SqlName, searchKey, StringComparison.OrdinalIgnoreCase)){ return ref entry;}} throw new Exception("Column not found"); }

?

在這個例子中,我們返回了一個數組元素的引用。你也可以返回對象中字段的引用,使用引用屬性(見下文)和引用參數。

?

ref int Echo(ref int input) { return ref input; }ref int Echo2(ref Foo input) { return ref Foo.Field; }

?

引用返回的一個有趣的功能是調用者可以選擇是否使用它。下面兩行代碼同樣有效:

Entry copy = FindColumn(m_Entries, "FirstName");ref Entry reference = ref FindColumn(m_Entries, "FirstName");

引用返回和引用屬性

你可以創建一個引用返回風格的屬性,但只能用于該屬性只讀的情況下。例如:

public ref int Test { get { return ref m_Test; } }

對于不可變結構來說,這種模式似乎毫不傷腦。調用者不需要花費額外的功夫,就可以將其視為引用值或普通值。
對于可變的結構,事情變得有趣起來。首先,這修復了一不小心就會通過修改屬性而改變結構返回值的老問題,只與值變化共進退。
考慮以下的類:

public class Shape {Rectangle m_Size;
public Rectangle Size { get { return m_Size; } } }
var s = new Shape(); s.Size.Width = 5;

在 C# 1中,size 將保持不變。在 C# 6中,將觸發一個編譯器錯誤。在 C# 7 中,我們只是加了個 ref 修飾,卻能跑起來。

public ref Rectangle Size { get { return ref m_Size; } }

乍一看就像你一旦想覆蓋 size 的值就會被阻止。但事實證明,仍然可以編寫如下代碼:

var rect = new Rectangle(0, 0, 10, 20); s.Size = rect;

即使該屬性是“只讀”,也將如期執行。這個對象清楚自己不會返回一個 Rectangle對象,而是保留指向 Rectangle對象所在位置的指針。
現在有了新的問題,不可變結構不再是永恒的。即使單個字段不能被更改,值卻被引用屬性替換了。C# 將通過拒絕執行該語法來警告你:

readonly int m_LineThickness;
public ref int LineThickness {
get { return ref m_LineThickness; }
}

引用返回和索引器

對于引用返回和局部引用最大的限制可能就是需要一個固定的指針。
考慮這行代碼:

ref int x = ref myList[0];

這樣的代碼無效,因為列表不像數組,在讀取其值時會創建一個副本結構。下面是對 List<T> 實現?引用的源碼:

public T this[int index] { get { // Following trick can reduce the range check by oneif ((uint) index >= (uint)_size) {ThrowHelper.ThrowArgumentOutOfRangeException();}Contract.EndContractBlock(); return _items[index]; <-- return makes a copy}

這同樣適用于 ImmutableArray<T> 和 訪問 IList<T> 接口的普通數組。但是,您可以實現自己的List<T>,將其索引定義為引用返回。

public ref T this[int index] {
get { // Following trick can reduce the range check by oneif ((uint) index >= (uint)_size) {ThrowHelper.ThrowArgumentOutOfRangeException();}Contract.EndContractBlock();
return ref _items[index]; <-- return ref makes a reference}

如果你這么做,需要明確實現 IList<T> 和 IReadOnlyList<T> 接口。這是因為引用返回具有與普通返回值不同的簽名,因此不能滿足接口的要求。
由于索引器實際上只是專用屬性,它們與引用屬性具有相同的限制; 這意味著您無法顯式定義 setter,而索引器卻是可寫的。

引用返回、局部引用和引用屬性指南

? 在使用數組的方法中,考慮使用引用返回而不是索引值
? 在擁有結構的自定義集合類中,對索引器考慮使用引用返回代替一般的返回結果。
? 將包含可變結構體的屬性暴露為引用屬性。
? 不要將包含不可變結構的屬性暴露為引用屬性。
? 不要在不可變或只讀類上暴露引用屬性。
? 不要在不可變或只讀集合類上暴露引用索引器。

ValueTask 和通用異步返回類型

當Task類被創建時,它的主要角色是簡化多線程編程。它創建一種將長時間運行的操作推入線程池的通道,并在 UI線程上推遲讀取結果。而當你使用 fork-join 模式并發時,效果顯著。
隨著.NET 4.5中引入了 async/await ,一些缺陷也開始顯現。正如我們在2011年的反饋(詳見?Task Parallel Library Improvements in .NET 4.5),創建一個 Task對象所花費的時間比可接受的時間長,因此必須重寫其內部,結果是創建Task<Int32> 所需的時間縮短了49%至55%,并在大小上減小了52%。
這是很好的一步,但 Task 仍然分配了內存。所以當你在緊湊循環中使用它,如下所示將產生大量的垃圾。

while (await stream.ReadAsync(buffer, offset, count) != 0) { //process buffer}

而且如前所述, C# 高性能代碼的關鍵在于減少內存分配和隨后的GC循環。微軟的Joe Duffy在?Asynchronous Everything?的文章中寫到:

首先,請記住,Midori 被整個操作系統用于內存垃圾回收。我們必須學到了一些必要的經驗教訓,以便充分發揮作用。但我想說的主要是避免不必要的分配,分配越多麻煩越多,特別是短命對象。早期 .NET世界中流傳著一句口頭禪:Gen0 集合是無代價的。不幸的是,這形成了很多.NET的庫代碼濫用。Gen0 集合存在著中斷、弄臟緩存以及在高并發的系統中有高頻問題。

這里的真正解決方案是創建一個基于結構的 task,而不是使用堆分配的版本。這實際上是以System.Threading.Tasks.Extensions?中的?ValueTask<T>創建。并且因為 await 已經任何暴露的方法中工作了,所以你可以使用它。

手動暴露ValueTask<T>

ValueTask<T>的基本用例是預期結果在大部分時間是同步的,并且想要消除不必要的內存分配。首先,假設你有一個傳統的基于 task 的異步方法。

public async Task<Customer> ReadFromDBAsync(string key)

然后我們將其封裝到一個緩存方法中:

public ValueTask<Customer> ReadFromCacheAsync(string key) {Customer result; if (_Cache.TryGetValue(key, out result))
return new ValueTask<Customer>(result); //no allocationelsereturn new ValueTask<Customer>(ReadFromCacheAsync_Inner(key)); }

并添加一個輔助方法來構建異步狀態機。

async Task<Customer> ReadFromCacheAsync_Inner(string key) { var result = await ReadFromDBAsync(key);_Cache[key] = result; return result; }

有了這一點,調用者可以使用與 ReadFromDBAsync 完全相同的語法來調用ReadFromCacheAsync;

async Task Test() { var a = await ReadFromCacheAsync("aaa");
var b = await ReadFromCacheAsync("bbb"); }

通用異步

雖然上述模式并不困難,但實施起來相當乏味。而且我們知道,編寫代碼越繁瑣,出現簡單的錯誤就越有可能。所以目前 C# 7 的提議是提供通用異步返回結果。
根據目前的設計,你只能使用異步關鍵字,并且方法返回 Task、Task<T>或者 void。一旦實現,通用異步返回結果將會擴展到任何 tasklike 方法上去。一些人認為 tasklike 需要有一個 AsyncBuilder 屬性。這表明輔助類被用于創建 tasklike 對象。
在這個設計的注意事項中,微軟估計大概有五種人實際上會創建 tasklike 類,從而被普遍接受。其他人都很可能也像這五分之一。這是我們上面使用新語法的例子:

public async ValueTask<Customer> ReadFromCacheAsync(string key) {Customer result;
if (_Cache.TryGetValue(key, out result)){ return result; //no allocation}
else{result = await ReadFromDBAsync(key);_Cache[key] = result; return result;} }

如您所見,我們已經去除了輔助方法,除了返回類型,它看起來像任何其他異步方法一樣。

何時使用 ValueTask<T>

所以應該使用 ValueTask<T> 代替 Task<T>? 完全不必要,這可能有點難以理解,所以我們將引用相關文檔:

方法可能會返回一個該值類型的實例,當它們的操作可以同時執行,同時被頻繁喚起(invoked)。這時,對于Task<TResult>,每一次調用都是昂貴的成本,應該被禁止。

使用 ValueTask<TResult> 代替 Task<TResult> 需要權衡利弊。例如,雖然 ValueTask<TResult> 可以避免分配,并且成功返回結果是可以同步返回的。然而它需要兩個字段,而 Task<TResult> 作為引用類型只是一個字段。這意味著調用方法最終返回的是兩個數據而不是一個數據,這就會有更多的數據被復制。同時意味著如果在異步方法中需要等待時,只返回其中一個,這會導致該異步方法的狀態機變得更大。因為要存儲兩個字段的結構而不是一個引用。

再進一步,使用者通過 await 來獲取異步操作的結果,ValueTask<TResult> 可能會導致更復雜的模型,實際上就會導致分配更多的內存。例如,考慮到一個方法可能返回一個普通的已緩存 task 的結果Task<TResult>,或者是一個 ValueTask<TResult>。如果調用者的預期結果是 Task<TResult>,可以被諸如 Task.WhenAll 和 Task.WhenAny 的方法調用,那么 ValueTask<TResult> 首先需要使用 ValueTask<TResult>.AsTask 將其自身轉換為 Task<TResult> ,如果 Task<TResult> 在第一次使用沒有被緩存了,將導致分配。

因此,Task的任何異步方法的默認選擇應該是返回一個 Task 或Task<TResult>。除非性能分析證明使用 ValueTask<TResult> 優于Task<TResult>。Task.CompletedTask 屬性可能被單獨用于傳遞任務成功執行的狀態, ValueTask<TResult> 并不提供泛型版本。

這是一段相當長的段落,所以我們在下面的指南中總結了這一點。

ValueTask <T>指南

? 當結果經常被同步返回時,請考慮在性能敏感代碼中使用 ValueTask<T>。
? 當內存壓力是個問題,且 Tasks 不能被緩存時,考慮使用 ValueTask<T>。
? 避免在公共API中暴露 ValueTask<T>,除非有顯著的性能影響。
? 不要在調用 Task.WhenAll 或 WhenAny 中調用 ValueTask<T>。

表達式體成員

表達式體成員允許消除簡單函數的括號。這通常是將一個四行函數減少到一行。例如:

public override string ToString() { return FirstName + " " + LastName; }public override string ToString() => FirstName + " " + LastName;

必須注意不要過分。例如,假設當 FirstName 為空時,您需要避免產生空格。你可能會這么寫:

public override string ToString() => !string.IsNullOrEmpty(FirstName) ? FirstName + " "
+ LastName : LastName;

但是,你可能會遇到 last name 同時為空。

public override string ToString() => !string.IsNullOrEmpty(FirstName) ? FirstName
+ " " + LastName : (!string.IsNullOrEmpty(LastName) ? LastName : "No Name");

如您所見,很容易得意忘形地使用這個功能。所以當你遇到有多分支條件或者 null合并操作時,請克制使用。

表達式體屬性

表達式體屬性是 C# 6 的新特性。在使用 Get/Set 方法處理 MVVM風格的模型之類時,非常有用。
這是C#6代碼:

public string FirstName { get { return Get<string>(); } set { Set(value); } }

還有 C# 7的替代方案:

public string FirstName { get => Get<string>(); set => Set(value); }

雖然沒有減少代碼行數,但大部分 line-noise 代碼已經消失了。而且每個屬性都能這么做,積少成多。
有關 Get/Set 在這些示例中的工作原理的更多信息,請參閱?C#, VB.NET To Get Windows Runtime Support, Asynchronous Methods。

表達式體構造函數

表達式體構造函數是C# 7 的新特性。下面有一個例子:

class Person { public Person(string name) => Name = name; public string Name { get; } }

這里的用法非常有限。它只有在零個或者一個參數的情況下才有效。一旦需要將其他參數分配給字段/屬性時,則必須用回傳統的構造函數。同時也無法初始化其他字段,解析事件處理程序等(參數驗證是可能的,請參見下面的“拋出表達式”。)
所以我們的建議是簡單地忽略這個功能。它只是將單參數構造函數看起來與一般的構造函數不同而已,同時讓代碼大小減少而已。

析構表達式

為了使 C# 更加一致,析構被允許寫成和表達式的成員一樣,就像用在方法和構造函數一樣。
對于那些忘記析構的人來說,C# 中的析構是在 Finalize 方法上重寫System.Object。雖然 C# 不這樣表達:

~UnmanagedResource() {ReleaseResources(); }

這種語法的一個問題是它看起來很像一個構造函數,因此可以很容易地被忽略。另一個問題是它模仿 C ++中的析構語法,卻是完全不同的語義。但是已經被使用了這么久,所以我們只好轉向新的語法:

~UnmanagedResource() => ReleaseResources();

現在我們有一行孤立的、容易忽略的代碼,用于終結對象生命周期。這不是一個簡單的 屬性 或 ToString 方法,而是很重大的操作,需要顯眼一些。所以我建議不要使用它。

表達式體成員指南

? 為簡單的屬性使用表達式體成員。
? 為方法重載使用表達式體成員。
? 簡單的方法考慮使用表達式體成員。
? 不要在表達式體成員使用多分支條件(a?b:c)或 null 合并運算符(x ?? y)。
? 不要為 構造函數 和 析構函數 中使用表達式成員。

拋出表達式

表面上,編程語言一般可以分為兩種:

  • 一切都是表達式

  • 語句、聲明和表達式都是獨立的概念

Ruby是前者的一個實例,甚至其聲明也是表達式。相比之下,Visual Basic代表后者,語句和表達式之間有很強的區別。例如,對于 "if" 而言,當它獨立存在時,以及作為表達式中的一部分時,是完全不同的語法。
C#主要是第二陣營,但存在著 C語言的遺產,允許你處理語句,當成表達式一樣??梢跃帉懭缦麓a:

while ((current = stream.ReadByte()) != -1) { //do work;}

首先,C#7 允許使用非賦值語句作為表達式?,F在可以在表達式的任何地方放置 “throw” 語句,不用對語法做任何更改。以下是Mads Torgersen 新聞稿中的一些例子:

class Person { public string Name { get; }

public Person(string name) => Name = name ?? throw new ArgumentNullException("name");

public string GetFirstName(){
var parts = Name.Split(' ');
return (parts.Length > 0) ? parts[0] :
throw new InvalidOperationException("No name!");} public string GetLastName() => throw new NotImplementedException(); }

在這些例子中,很容易看出會發生什么情況。但是如果我們移動拋出表達式的位置呢?

return (parts.Length == 0) ? throw new InvalidOperationException("No name!") : parts[0];

這樣看來就不夠易讀了。而左右的語句是相關的,中間的語句與他們無關。從第一個版本看,左邊是預期分支,右邊是錯誤分支。第二個版本的錯誤分支將預期分支分成兩半,打破整條流程。

我們來看另一個例子。這里我們摻入一個函數調用。

void Save(IList<Customer> customers, User currentUser) { if (customers == null || customers.Count == 0) throw new ArgumentException("No customers to save");_Database.SaveEach("dbo.Customer", customers, currentUser); }void Save(IList<Customer> customers, User currentUser) {_Database.SaveEach("dbo.Customer", (customers == null || customers.Count == 0) ? customers : throw new ArgumentException("No customers to save"), currentUser); }

我們已經可以看到,寫到一塊是有問題的,盡管它的LINQ并不難看。但是為了更好地閱讀代碼,我們使用橙色標記條件,藍色標記函數調用,黃色標記函數參數,紅色標記錯誤分支。


這樣可以看到隨著參數改變位置,上下文如何變化。

拋出表達式指南

? 在分支/返回語句中,考慮將拋出表達式放在條件(a?b:c)和 null 合并運算符(x ?? y)的右側。
? 避免將拋出表達式放到條件運算的中間位置。
? 不要將拋出表達式放在方法的參數列表中。
有關異常如何影響 API設計的更多信息,請參閱?Designing with Exceptions in .NET。

模式匹配 和 加強 Switch 語句

模式匹配(加強了 Switch 語句)對API設計沒有任何影響。所以雖然可以使異構集合的處理變得更加容易,但最好的情況還是盡可能地使用共享接口和多態性。
也就是說,有些細節還是要注意的??紤]這個八月份發布的例子:

switch(shape) { case Circle c:WriteLine($"circle with radius {c.Radius}");
break;
case Rectangle s when (s.Width == s.Height):WriteLine($"{s.Width} x {s.Height} square");
break; case Rectangle r:WriteLine($"{r.Width} x {r.Height} rectangle");
break; default:WriteLine("<unknown shape>");
break;
case null:
throw new ArgumentNullException(nameof(shape)); }

以前,case的順序并不重要。在 C# 7 中,像 Visual Basic一樣,switch語句幾乎嚴格按順序執行。對于 when 表達式同樣適用。
實際上,您希望最常見的情況是 switch 語句中的第一種情況,就像在一系列 if-else-if 語句塊中一樣。同樣,如果任何檢查特別昂貴,那么它應該越靠近底部,只在必要時才執行。
順序規則的例外是默認情況。它總是被最后處理,不管它的實際順序是什么。這會使代碼更難理解,所以我建議將默認情況放在最后。

模式匹配表達式

雖然 switch 語句可能是 C# 中最常用的模式匹配; 但并不是唯一的方式。在運行時求值的任何布爾表達式都可以包含模式匹配表達式。
下面有一個例子,它判斷變量 'o' 是否是一個字符串,如果是這樣,則嘗試將其解析為一個整數。

if (o is string s && int.TryParse(s, out var i)) {Console.WriteLine(i); }

注意如何在模式匹配中創建一個名為's'的新變量,然后再用于TryParse。這種方法可以鏈式組合,構建更復雜的表達式:

if ((o is int i) || (o is string s && int.TryParse(s, out i))) {Console.WriteLine(i); }

為了方便比較, 將上述代碼重寫成 C# 6 風格:

if (o is int) {Console.WriteLine((int)o); }else if (o is string && int.TryParse((string) o, out i)) {Console.WriteLine(i); }

現在還不知道新的模式匹配代碼是否比以前的方式更有效,但它可能會消除一些冗余的類型檢查。

一起維護這個在線文檔

C# 7 的新特性仍然很新鮮,而且關于它們在現實世界中如何運行,還需要多多了解。所以如果你看到一些你不同意的東西,或者這些指南中沒有的話,請讓我們知道。

關于作者

喬納森·艾倫(Jonathan Allen)在90年代末期開始從事衛生診所的MIS項目,從 Access 和 Excel 到企業解決方案。在為金融部門編寫自動化交易系統五年之后,他成為各種項目的顧問,包括機器人倉庫的UI,癌癥研究軟件的中間層以及房地產保險公司的大數據需求。在空閑時間,他學習和書寫16世紀以來的武術知識。

原文地址:http://www.cnblogs.com/chenug/p/6803649.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的C# 7 中的模范和实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

中文字幕无码人妻少妇免费 | 色婷婷综合中文久久一本 | 国产真人无遮挡作爱免费视频 | 久久人妻内射无码一区三区 | 亚洲精品一区国产 | 无码免费一区二区三区 | 国产又爽又黄又刺激的视频 | 国产精品无码mv在线观看 | 伊人久久大香线蕉午夜 | 日本在线高清不卡免费播放 | 丰满妇女强制高潮18xxxx | 国产特级毛片aaaaaa高潮流水 | 国产极品美女高潮无套在线观看 | 国产精品怡红院永久免费 | 2019午夜福利不卡片在线 | 最新国产麻豆aⅴ精品无码 | 天堂久久天堂av色综合 | 丰满诱人的人妻3 | 99久久精品日本一区二区免费 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产精品国产自线拍免费软件 | 亚洲欧洲日本无在线码 | 日韩精品久久久肉伦网站 | 日日摸夜夜摸狠狠摸婷婷 | 久久久无码中文字幕久... | 久久久精品成人免费观看 | 色一情一乱一伦一区二区三欧美 | 国产亚av手机在线观看 | 日韩精品无码免费一区二区三区 | 免费无码一区二区三区蜜桃大 | 亚洲狠狠色丁香婷婷综合 | 女人和拘做爰正片视频 | 欧美成人家庭影院 | 国产黄在线观看免费观看不卡 | 久久精品无码一区二区三区 | 鲁一鲁av2019在线 | 国产成人综合在线女婷五月99播放 | 国产精品久久久久9999小说 | 国产在线一区二区三区四区五区 | 人妻aⅴ无码一区二区三区 | 水蜜桃av无码 | 国产精品亚洲综合色区韩国 | 欧美性生交活xxxxxdddd | 亚洲精品无码国产 | 久久久婷婷五月亚洲97号色 | 精品国产一区av天美传媒 | 性生交片免费无码看人 | 大乳丰满人妻中文字幕日本 | 狂野欧美性猛xxxx乱大交 | 无码福利日韩神码福利片 | 免费看男女做好爽好硬视频 | 少妇被黑人到高潮喷出白浆 | 青青草原综合久久大伊人精品 | 粗大的内捧猛烈进出视频 | 高潮毛片无遮挡高清免费 | 中文字幕乱码亚洲无线三区 | 男人扒开女人内裤强吻桶进去 | 无码人妻丰满熟妇区毛片18 | 一个人看的www免费视频在线观看 | 99在线 | 亚洲 | 无码人妻丰满熟妇区五十路百度 | 久久久久久久久888 | 日韩精品a片一区二区三区妖精 | 樱花草在线播放免费中文 | 成人影院yy111111在线观看 | 欧洲vodafone精品性 | 午夜熟女插插xx免费视频 | 中国女人内谢69xxxxxa片 | 亚洲精品久久久久avwww潮水 | 精品国产麻豆免费人成网站 | 久久精品成人欧美大片 | 成人精品视频一区二区 | 在线亚洲高清揄拍自拍一品区 | 波多野结衣一区二区三区av免费 | 少妇无码一区二区二三区 | 99久久99久久免费精品蜜桃 | 九九久久精品国产免费看小说 | 成人性做爰aaa片免费看 | 99视频精品全部免费免费观看 | 综合人妻久久一区二区精品 | 性欧美videos高清精品 | 国产成人一区二区三区别 | 麻豆蜜桃av蜜臀av色欲av | 亚洲精品久久久久中文第一幕 | 色欲综合久久中文字幕网 | 国产激情综合五月久久 | 日本成熟视频免费视频 | 男女作爱免费网站 | √天堂中文官网8在线 | 九月婷婷人人澡人人添人人爽 | 国产精品久久久午夜夜伦鲁鲁 | 人人妻人人澡人人爽欧美精品 | 性色欲情网站iwww九文堂 | 国产电影无码午夜在线播放 | 欧美性猛交xxxx富婆 | 中文精品久久久久人妻不卡 | 国产特级毛片aaaaaa高潮流水 | 精品aⅴ一区二区三区 | 中文字幕人妻丝袜二区 | 国产真人无遮挡作爱免费视频 | 国産精品久久久久久久 | 3d动漫精品啪啪一区二区中 | 老子影院午夜精品无码 | 婷婷五月综合激情中文字幕 | 日本免费一区二区三区最新 | 精品久久综合1区2区3区激情 | 亚洲精品一区二区三区婷婷月 | 理论片87福利理论电影 | 狂野欧美性猛xxxx乱大交 | 久久久久成人精品免费播放动漫 | 人人妻人人藻人人爽欧美一区 | 无码国产乱人伦偷精品视频 | 日韩欧美成人免费观看 | 六月丁香婷婷色狠狠久久 | 大肉大捧一进一出好爽视频 | 中国女人内谢69xxxx | 丰满诱人的人妻3 | 熟女少妇人妻中文字幕 | 国产亚洲美女精品久久久2020 | 亚洲成a人片在线观看无码 | www成人国产高清内射 | 精品久久久无码人妻字幂 | 乱码午夜-极国产极内射 | 西西人体www44rt大胆高清 | 亚洲色成人中文字幕网站 | 丁香啪啪综合成人亚洲 | 女人被男人躁得好爽免费视频 | 丰满人妻翻云覆雨呻吟视频 | 亚洲自偷自拍另类第1页 | 奇米影视7777久久精品人人爽 | 日日碰狠狠躁久久躁蜜桃 | 男女猛烈xx00免费视频试看 | 成人综合网亚洲伊人 | 日本熟妇大屁股人妻 | 国产精品久久久久无码av色戒 | 日本丰满熟妇videos | 色婷婷av一区二区三区之红樱桃 | 亚洲а∨天堂久久精品2021 | 一本色道婷婷久久欧美 | 国产凸凹视频一区二区 | 精品偷拍一区二区三区在线看 | 少妇愉情理伦片bd | 亚洲国产精品无码一区二区三区 | 亚洲人成影院在线观看 | 少妇邻居内射在线 | 中文久久乱码一区二区 | 中文字幕av日韩精品一区二区 | 亚洲成av人综合在线观看 | 国产成人精品久久亚洲高清不卡 | 亚洲综合无码一区二区三区 | 亚洲一区二区三区四区 | 纯爱无遮挡h肉动漫在线播放 | 亚洲中文字幕乱码av波多ji | 亚洲午夜福利在线观看 | 国产精品久久久久久亚洲毛片 | 无码人妻黑人中文字幕 | 国产激情无码一区二区 | 特黄特色大片免费播放器图片 | 久久久久成人片免费观看蜜芽 | 亚洲最大成人网站 | 无码毛片视频一区二区本码 | 亚洲中文字幕无码中文字在线 | 色五月丁香五月综合五月 | 久热国产vs视频在线观看 | 内射白嫩少妇超碰 | 欧美成人午夜精品久久久 | 日韩精品乱码av一区二区 | 久热国产vs视频在线观看 | 一本大道伊人av久久综合 | 欧美日韩一区二区三区自拍 | 久久国语露脸国产精品电影 | 久久久精品人妻久久影视 | 天堂久久天堂av色综合 | 3d动漫精品啪啪一区二区中 | 精品人人妻人人澡人人爽人人 | 亚洲精品久久久久avwww潮水 | 亚洲色欲久久久综合网东京热 | 久久久精品456亚洲影院 | 曰韩无码二三区中文字幕 | 强开小婷嫩苞又嫩又紧视频 | 国产无套粉嫩白浆在线 | 中文字幕乱码中文乱码51精品 | 中文无码成人免费视频在线观看 | 日韩无套无码精品 | 在线播放免费人成毛片乱码 | 人人妻人人澡人人爽欧美精品 | 最新国产麻豆aⅴ精品无码 | 天堂一区人妻无码 | av在线亚洲欧洲日产一区二区 | 少妇愉情理伦片bd | 欧美真人作爱免费视频 | а√天堂www在线天堂小说 | 少妇的肉体aa片免费 | 久久婷婷五月综合色国产香蕉 | 欧美 丝袜 自拍 制服 另类 | 亚洲爆乳大丰满无码专区 | 老司机亚洲精品影院无码 | 国产精品爱久久久久久久 | 兔费看少妇性l交大片免费 | 啦啦啦www在线观看免费视频 | 亚洲成av人综合在线观看 | 无人区乱码一区二区三区 | 性欧美牲交xxxxx视频 | 人妻少妇被猛烈进入中文字幕 | 久久久中文字幕日本无吗 | 国产精品亚洲五月天高清 | 少妇被粗大的猛进出69影院 | 色婷婷av一区二区三区之红樱桃 | 亚洲va中文字幕无码久久不卡 | 色婷婷av一区二区三区之红樱桃 | 麻豆人妻少妇精品无码专区 | 亚洲国产成人a精品不卡在线 | 中文字幕亚洲情99在线 | 日本一卡2卡3卡四卡精品网站 | 色妞www精品免费视频 | 狂野欧美性猛交免费视频 | 亚洲啪av永久无码精品放毛片 | 久久久久久国产精品无码下载 | 亚洲中文字幕无码一久久区 | 在线a亚洲视频播放在线观看 | 亚洲成a人片在线观看日本 | 无码精品国产va在线观看dvd | 日产精品高潮呻吟av久久 | 伊人久久大香线蕉午夜 | 色欲久久久天天天综合网精品 | 最新国产乱人伦偷精品免费网站 | 一个人免费观看的www视频 | 在线а√天堂中文官网 | 国产亚洲tv在线观看 | 国产亚洲欧美日韩亚洲中文色 | 丁香花在线影院观看在线播放 | 日韩少妇内射免费播放 | 国产精品无码mv在线观看 | 国产亚洲精品久久久ai换 | 国产情侣作爱视频免费观看 | 激情内射亚州一区二区三区爱妻 | 国产人妖乱国产精品人妖 | 青青久在线视频免费观看 | 无码国内精品人妻少妇 | 又黄又爽又色的视频 | 色诱久久久久综合网ywww | 麻豆蜜桃av蜜臀av色欲av | 大肉大捧一进一出视频出来呀 | 国产av无码专区亚洲a∨毛片 | 亚洲自偷自偷在线制服 | 亚洲精品成人av在线 | 在教室伦流澡到高潮hnp视频 | 中文字幕无码日韩欧毛 | 一本精品99久久精品77 | 久久精品女人的天堂av | 久久zyz资源站无码中文动漫 | 夜夜夜高潮夜夜爽夜夜爰爰 | 无人区乱码一区二区三区 | 伊人久久婷婷五月综合97色 | 人人妻人人澡人人爽欧美精品 | 成人三级无码视频在线观看 | 欧美日韩一区二区免费视频 | 日本www一道久久久免费榴莲 | 狠狠亚洲超碰狼人久久 | 麻花豆传媒剧国产免费mv在线 | 噜噜噜亚洲色成人网站 | 亚洲精品一区三区三区在线观看 | 久久久久久av无码免费看大片 | 国产成人无码a区在线观看视频app | 四虎影视成人永久免费观看视频 | 任你躁在线精品免费 | 亚洲中文无码av永久不收费 | 乱人伦人妻中文字幕无码 | 人人爽人人爽人人片av亚洲 | 欧美日韩一区二区综合 | 国产av人人夜夜澡人人爽麻豆 | 在线观看国产午夜福利片 | 性史性农村dvd毛片 | 欧美黑人巨大xxxxx | 亚洲欧美日韩成人高清在线一区 | 熟妇人妻中文av无码 | 狂野欧美性猛xxxx乱大交 | 无码帝国www无码专区色综合 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 久久精品一区二区三区四区 | 国精产品一品二品国精品69xx | 中文字幕人妻无码一区二区三区 | 熟女俱乐部五十路六十路av | 少妇激情av一区二区 | 中文字幕人妻无码一夲道 | 97夜夜澡人人双人人人喊 | 日韩人妻系列无码专区 | 久久综合久久自在自线精品自 | 亚洲欧美中文字幕5发布 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲天堂2017无码中文 | 国产一精品一av一免费 | 国产福利视频一区二区 | 日韩人妻少妇一区二区三区 | 男女作爱免费网站 | 国产精品国产三级国产专播 | 国产综合久久久久鬼色 | 国产性生大片免费观看性 | 国产亚洲tv在线观看 | 亚洲精品无码国产 | 99国产精品白浆在线观看免费 | 又大又硬又黄的免费视频 | 午夜不卡av免费 一本久久a久久精品vr综合 | 国产黑色丝袜在线播放 | 日韩成人一区二区三区在线观看 | 国产黑色丝袜在线播放 | 2020久久香蕉国产线看观看 | 日日鲁鲁鲁夜夜爽爽狠狠 | av在线亚洲欧洲日产一区二区 | 欧美三级不卡在线观看 | 久久久久久久人妻无码中文字幕爆 | 特黄特色大片免费播放器图片 | 色综合久久中文娱乐网 | 国产一区二区不卡老阿姨 | 久久人妻内射无码一区三区 | 少妇激情av一区二区 | 任你躁国产自任一区二区三区 | 亚洲精品午夜国产va久久成人 | 最近的中文字幕在线看视频 | 中文亚洲成a人片在线观看 | 牲欲强的熟妇农村老妇女视频 | 亚洲国产av精品一区二区蜜芽 | 精品偷自拍另类在线观看 | 国产精品无码mv在线观看 | 暴力强奷在线播放无码 | 人妻中文无码久热丝袜 | 嫩b人妻精品一区二区三区 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产精品自产拍在线观看 | 蜜桃视频插满18在线观看 | 76少妇精品导航 | 国产女主播喷水视频在线观看 | 99久久无码一区人妻 | www一区二区www免费 | 性开放的女人aaa片 | 久久成人a毛片免费观看网站 | 亚洲码国产精品高潮在线 | 一本久道高清无码视频 | 亚洲中文字幕无码一久久区 | 色婷婷香蕉在线一区二区 | 天下第一社区视频www日本 | 人人超人人超碰超国产 | 国产精品国产三级国产专播 | 国产精品无码一区二区桃花视频 | 77777熟女视频在线观看 а天堂中文在线官网 | 日韩少妇内射免费播放 | 又色又爽又黄的美女裸体网站 | 我要看www免费看插插视频 | 成人动漫在线观看 | 欧美三级不卡在线观看 | 美女极度色诱视频国产 | 国产莉萝无码av在线播放 | 婷婷丁香五月天综合东京热 | 无码人妻少妇伦在线电影 | 自拍偷自拍亚洲精品10p | 亚洲色成人中文字幕网站 | 青草青草久热国产精品 | 欧美日韩一区二区免费视频 | 99精品国产综合久久久久五月天 | 日本精品人妻无码免费大全 | 亚洲中文字幕在线无码一区二区 | 精品国偷自产在线 | 欧美性生交活xxxxxdddd | 亚洲中文字幕无码一久久区 | 国产人妻精品一区二区三区不卡 | 沈阳熟女露脸对白视频 | 免费无码的av片在线观看 | 亚洲中文字幕乱码av波多ji | 国产性生大片免费观看性 | 人妻少妇精品视频专区 | 亚洲精品午夜国产va久久成人 | 3d动漫精品啪啪一区二区中 | 两性色午夜视频免费播放 | 激情内射日本一区二区三区 | 精品久久久久香蕉网 | 国色天香社区在线视频 | 亚洲人成无码网www | 少妇被粗大的猛进出69影院 | 亚洲欧美精品伊人久久 | 老太婆性杂交欧美肥老太 | 老太婆性杂交欧美肥老太 | 色婷婷欧美在线播放内射 | 未满成年国产在线观看 | 亚洲一区二区三区含羞草 | 精品国产成人一区二区三区 | 免费国产黄网站在线观看 | 无码国内精品人妻少妇 | 日本乱人伦片中文三区 | 亚洲大尺度无码无码专区 | 乌克兰少妇xxxx做受 | 日韩欧美群交p片內射中文 | 中文字幕 亚洲精品 第1页 | 久久人人97超碰a片精品 | 51国偷自产一区二区三区 | 久久人人爽人人爽人人片av高清 | 国产乱子伦视频在线播放 | 亚洲春色在线视频 | 国产亚洲欧美在线专区 | 超碰97人人做人人爱少妇 | 青春草在线视频免费观看 | 帮老师解开蕾丝奶罩吸乳网站 | 免费国产黄网站在线观看 | 国产精品国产自线拍免费软件 | 青春草在线视频免费观看 | 日本免费一区二区三区最新 | 水蜜桃色314在线观看 | 丰满人妻精品国产99aⅴ | 在线观看国产午夜福利片 | 免费观看黄网站 | 国内精品人妻无码久久久影院 | 久久久av男人的天堂 | 国产精品18久久久久久麻辣 | 国产亚洲日韩欧美另类第八页 | 国产午夜无码视频在线观看 | 性史性农村dvd毛片 | 亚洲综合另类小说色区 | 亚洲 高清 成人 动漫 | 国产综合在线观看 | 国产真实伦对白全集 | 一本大道伊人av久久综合 | 国产成人无码a区在线观看视频app | 日韩欧美中文字幕公布 | 国产另类ts人妖一区二区 | 欧美日韩人成综合在线播放 | 久久 国产 尿 小便 嘘嘘 | 一本大道伊人av久久综合 | 国产免费久久精品国产传媒 | 久久99精品久久久久久动态图 | 亚洲日韩av片在线观看 | 99久久人妻精品免费二区 | 久久久久av无码免费网 | 高中生自慰www网站 | 内射巨臀欧美在线视频 | 高潮毛片无遮挡高清免费视频 | 2019午夜福利不卡片在线 | 巨爆乳无码视频在线观看 | 国产性生大片免费观看性 | 人人妻人人澡人人爽欧美一区 | 最新版天堂资源中文官网 | 激情人妻另类人妻伦 | 成人精品一区二区三区中文字幕 | 少妇久久久久久人妻无码 | 精品少妇爆乳无码av无码专区 | 精品无码国产自产拍在线观看蜜 | 亚洲精品一区二区三区在线观看 | 亚洲熟妇色xxxxx欧美老妇 | 久久久久成人片免费观看蜜芽 | 国产精品毛片一区二区 | 国产sm调教视频在线观看 | 成在人线av无码免费 | 欧美 丝袜 自拍 制服 另类 | 国产精品人人妻人人爽 | 久久久久99精品国产片 | 成人精品视频一区二区三区尤物 | 亚洲男人av天堂午夜在 | 天天爽夜夜爽夜夜爽 | 亚洲日韩一区二区三区 | 女人色极品影院 | 亚洲色欲久久久综合网东京热 | 国产av一区二区精品久久凹凸 | 激情五月综合色婷婷一区二区 | 国产精品久久久久久久影院 | 精品国精品国产自在久国产87 | 国产成人无码一二三区视频 | 国产精品久免费的黄网站 | 老熟女重囗味hdxx69 | 99久久精品国产一区二区蜜芽 | 国产免费无码一区二区视频 | 捆绑白丝粉色jk震动捧喷白浆 | 久久人人爽人人爽人人片ⅴ | 国产性生大片免费观看性 | 成熟人妻av无码专区 | 日本一卡2卡3卡四卡精品网站 | 国色天香社区在线视频 | 免费人成网站视频在线观看 | 免费国产成人高清在线观看网站 | 一二三四社区在线中文视频 | 中文字幕 亚洲精品 第1页 | 天堂а√在线中文在线 | 国产精品亚洲综合色区韩国 | 成人亚洲精品久久久久软件 | 日日噜噜噜噜夜夜爽亚洲精品 | 丰满人妻被黑人猛烈进入 | 中文字幕日韩精品一区二区三区 | 麻豆md0077饥渴少妇 | 蜜桃视频插满18在线观看 | 亚洲国产成人a精品不卡在线 | 色综合久久网 | 又色又爽又黄的美女裸体网站 | 成年美女黄网站色大免费视频 | 麻豆国产人妻欲求不满谁演的 | 成人精品天堂一区二区三区 | 国产极品美女高潮无套在线观看 | 99久久婷婷国产综合精品青草免费 | 久久精品国产99久久6动漫 | 午夜理论片yy44880影院 | 亚洲精品成人av在线 | 99久久人妻精品免费一区 | 欧美丰满熟妇xxxx性ppx人交 | 精品国产一区二区三区四区在线看 | 国产无av码在线观看 | 黑人巨大精品欧美黑寡妇 | 天天综合网天天综合色 | 国产又爽又猛又粗的视频a片 | 在线天堂新版最新版在线8 | 又粗又大又硬毛片免费看 | 人妻少妇被猛烈进入中文字幕 | 国产麻豆精品精东影业av网站 | 一个人看的www免费视频在线观看 | 欧美日韩在线亚洲综合国产人 | 日韩av无码一区二区三区不卡 | 无码人妻av免费一区二区三区 | 精品国精品国产自在久国产87 | 国产做国产爱免费视频 | 狂野欧美性猛交免费视频 | 日韩 欧美 动漫 国产 制服 | 激情综合激情五月俺也去 | 性色欲情网站iwww九文堂 | 少妇高潮喷潮久久久影院 | 一本色道久久综合亚洲精品不卡 | 国产电影无码午夜在线播放 | 久久www免费人成人片 | 色综合久久网 | 伊人久久大香线蕉亚洲 | 欧美性生交活xxxxxdddd | 双乳奶水饱满少妇呻吟 | 欧美变态另类xxxx | 樱花草在线社区www | 国产亚洲人成a在线v网站 | 亚洲精品国产品国语在线观看 | 国産精品久久久久久久 | 国产精品亚洲lv粉色 | 午夜精品一区二区三区在线观看 | 精品无码av一区二区三区 | 久久国产精品偷任你爽任你 | 给我免费的视频在线观看 | 久久精品99久久香蕉国产色戒 | 动漫av一区二区在线观看 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲精品午夜无码电影网 | 免费男性肉肉影院 | 理论片87福利理论电影 | 精品无码av一区二区三区 | 亚洲综合精品香蕉久久网 | 亚洲精品鲁一鲁一区二区三区 | 日韩av无码一区二区三区不卡 | 黑人大群体交免费视频 | 国精产品一区二区三区 | 亚洲狠狠色丁香婷婷综合 | 国产av无码专区亚洲a∨毛片 | 久久无码专区国产精品s | 人妻人人添人妻人人爱 | 国产成人无码区免费内射一片色欲 | 国产成人无码区免费内射一片色欲 | 精品人妻人人做人人爽夜夜爽 | 国产真人无遮挡作爱免费视频 | 国产精品亚洲综合色区韩国 | 55夜色66夜色国产精品视频 | 丰满诱人的人妻3 | 人人澡人人透人人爽 | 亚洲精品久久久久久一区二区 | 全黄性性激高免费视频 | 久久精品国产一区二区三区肥胖 | 377p欧洲日本亚洲大胆 | 精品欧洲av无码一区二区三区 | 亚洲精品成人福利网站 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 中文字幕乱码人妻无码久久 | 日韩欧美成人免费观看 | 亚洲国精产品一二二线 | 在线观看欧美一区二区三区 | 无码精品人妻一区二区三区av | 奇米影视7777久久精品人人爽 | 日日噜噜噜噜夜夜爽亚洲精品 | 日韩精品无码免费一区二区三区 | 水蜜桃亚洲一二三四在线 | 高清国产亚洲精品自在久久 | 夜精品a片一区二区三区无码白浆 | 久久精品成人欧美大片 | 老熟妇仑乱视频一区二区 | 中文字幕 亚洲精品 第1页 | 无码人妻久久一区二区三区不卡 | 一本色道久久综合亚洲精品不卡 | 欧美一区二区三区视频在线观看 | 亚洲热妇无码av在线播放 | 国产片av国语在线观看 | 一二三四社区在线中文视频 | 老熟女乱子伦 | 亚洲第一无码av无码专区 | 好屌草这里只有精品 | 天堂亚洲免费视频 | 日韩av无码一区二区三区不卡 | 在线观看国产午夜福利片 | 国产人妻久久精品二区三区老狼 | 中文字幕精品av一区二区五区 | 免费看少妇作爱视频 | 精品熟女少妇av免费观看 | 黑人巨大精品欧美黑寡妇 | www国产亚洲精品久久久日本 | 国产一区二区三区四区五区加勒比 | 国产成人亚洲综合无码 | 色婷婷综合激情综在线播放 | 精品久久久中文字幕人妻 | 玩弄少妇高潮ⅹxxxyw | 久久天天躁夜夜躁狠狠 | 欧美黑人乱大交 | 日日鲁鲁鲁夜夜爽爽狠狠 | 波多野结衣aⅴ在线 | 中文字幕 亚洲精品 第1页 | 美女扒开屁股让男人桶 | 成人影院yy111111在线观看 | 一本加勒比波多野结衣 | 最近免费中文字幕中文高清百度 | 国产麻豆精品精东影业av网站 | 在线观看国产一区二区三区 | 99久久99久久免费精品蜜桃 | 国产精品人人妻人人爽 | 国产特级毛片aaaaaa高潮流水 | 国产av一区二区精品久久凹凸 | 色老头在线一区二区三区 | 老太婆性杂交欧美肥老太 | 丁香花在线影院观看在线播放 | 麻豆人妻少妇精品无码专区 | 好爽又高潮了毛片免费下载 | 丰满少妇人妻久久久久久 | 亚洲精品综合五月久久小说 | 国产熟妇高潮叫床视频播放 | 国产色xx群视频射精 | 亚洲a无码综合a国产av中文 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产片av国语在线观看 | 日本精品久久久久中文字幕 | 亚洲成色www久久网站 | 精品久久久无码中文字幕 | 国产在线一区二区三区四区五区 | 波多野结衣乳巨码无在线观看 | 欧美 日韩 亚洲 在线 | 小泽玛莉亚一区二区视频在线 | 精品国产精品久久一区免费式 | 亚洲一区二区三区在线观看网站 | 亚洲熟妇自偷自拍另类 | 学生妹亚洲一区二区 | 十八禁视频网站在线观看 | 欧美丰满熟妇xxxx性ppx人交 | 日日麻批免费40分钟无码 | 亚洲人亚洲人成电影网站色 | 女人被男人爽到呻吟的视频 | 亚洲欧洲无卡二区视頻 | 久久久亚洲欧洲日产国码αv | 中文字幕av日韩精品一区二区 | 精品国产一区二区三区av 性色 | 在线天堂新版最新版在线8 | 精品人妻av区 | 亚洲人交乣女bbw | 色一情一乱一伦 | 成人aaa片一区国产精品 | 九月婷婷人人澡人人添人人爽 | 狂野欧美激情性xxxx | 国产免费久久精品国产传媒 | 丰满肥臀大屁股熟妇激情视频 | 97久久精品无码一区二区 | 精品亚洲成av人在线观看 | 日日碰狠狠躁久久躁蜜桃 | 欧美日韩精品 | 欧美乱妇无乱码大黄a片 | 377p欧洲日本亚洲大胆 | 国产真人无遮挡作爱免费视频 | 中文字幕 亚洲精品 第1页 | 老司机亚洲精品影院无码 | 激情内射亚州一区二区三区爱妻 | 美女毛片一区二区三区四区 | 亚洲中文字幕久久无码 | 久久国产劲爆∧v内射 | 国产精品办公室沙发 | 亚洲成av人片在线观看无码不卡 | 精品国产一区二区三区四区 | 国产激情精品一区二区三区 | 久久国语露脸国产精品电影 | 欧美精品国产综合久久 | 精品乱子伦一区二区三区 | 国产另类ts人妖一区二区 | 在线播放无码字幕亚洲 | 大屁股大乳丰满人妻 | 国产成人午夜福利在线播放 | 欧美人与禽zoz0性伦交 | 成人欧美一区二区三区 | 久久午夜无码鲁丝片秋霞 | 十八禁视频网站在线观看 | 成人女人看片免费视频放人 | av无码电影一区二区三区 | 最新国产麻豆aⅴ精品无码 | 亚洲精品一区三区三区在线观看 | 一本无码人妻在中文字幕免费 | 天天摸天天碰天天添 | 一区二区三区乱码在线 | 欧洲 | 国产一区二区三区影院 | 国产麻豆精品一区二区三区v视界 | 99riav国产精品视频 | 樱花草在线播放免费中文 | 亚洲精品一区二区三区四区五区 | 正在播放老肥熟妇露脸 | 国内老熟妇对白xxxxhd | 久久久www成人免费毛片 | 久久 国产 尿 小便 嘘嘘 | 性欧美牲交在线视频 | 亚洲 另类 在线 欧美 制服 | 日韩欧美中文字幕在线三区 | 无码人妻久久一区二区三区不卡 | 永久免费观看美女裸体的网站 | 国产av无码专区亚洲a∨毛片 | 国产成人亚洲综合无码 | 荫蒂添的好舒服视频囗交 | 国产成人无码一二三区视频 | 玩弄中年熟妇正在播放 | 美女扒开屁股让男人桶 | 欧美xxxxx精品 | 国产乱人偷精品人妻a片 | 中文字幕日韩精品一区二区三区 | 国产手机在线αⅴ片无码观看 | 久精品国产欧美亚洲色aⅴ大片 | 久久99精品国产.久久久久 | 国产成人无码专区 | 国产亚洲视频中文字幕97精品 | 亚洲精品一区二区三区在线观看 | 无码任你躁久久久久久久 | 1000部啪啪未满十八勿入下载 | 国产精品手机免费 | 成人精品一区二区三区中文字幕 | 无码任你躁久久久久久久 | 国产av一区二区三区最新精品 | 精品成在人线av无码免费看 | 中文无码精品a∨在线观看不卡 | 久久精品国产99精品亚洲 | 男人扒开女人内裤强吻桶进去 | 男女性色大片免费网站 | 久久国产精品精品国产色婷婷 | 色综合久久88色综合天天 | 国产免费观看黄av片 | 国产精品第一国产精品 | 国产suv精品一区二区五 | 国产极品视觉盛宴 | 国内少妇偷人精品视频免费 | 欧美丰满少妇xxxx性 | 中文字幕久久久久人妻 | 久久亚洲国产成人精品性色 | 亚洲色成人中文字幕网站 | 九九在线中文字幕无码 | 熟妇人妻中文av无码 | 久在线观看福利视频 | 中文字幕人妻无码一区二区三区 | 亚洲成av人片天堂网无码】 | 亚洲欧美精品伊人久久 | 国产九九九九九九九a片 | 香港三级日本三级妇三级 | 黑人巨大精品欧美黑寡妇 | 亚洲日韩精品欧美一区二区 | 久久精品中文字幕大胸 | 波多野结衣乳巨码无在线观看 | 2020久久超碰国产精品最新 | 综合人妻久久一区二区精品 | 欧美黑人性暴力猛交喷水 | a国产一区二区免费入口 | 成人av无码一区二区三区 | 国产精品无码mv在线观看 | 亚洲毛片av日韩av无码 | 亚洲欧美综合区丁香五月小说 | 漂亮人妻洗澡被公强 日日躁 | 4hu四虎永久在线观看 | 免费无码午夜福利片69 | 亚洲综合另类小说色区 | 少妇无码av无码专区在线观看 | 欧美一区二区三区 | 久久综合九色综合欧美狠狠 | 欧洲精品码一区二区三区免费看 | 中文字幕av日韩精品一区二区 | 国产成人一区二区三区在线观看 | 88国产精品欧美一区二区三区 | yw尤物av无码国产在线观看 | 乌克兰少妇xxxx做受 | 亚洲精品一区二区三区大桥未久 | 国精品人妻无码一区二区三区蜜柚 | 大地资源网第二页免费观看 | 国精产品一区二区三区 | 美女极度色诱视频国产 | 亚洲va中文字幕无码久久不卡 | 丝袜 中出 制服 人妻 美腿 | 国产婷婷色一区二区三区在线 | 精品国产aⅴ无码一区二区 | 色欲av亚洲一区无码少妇 | 亚洲中文字幕av在天堂 | 久久久久久久女国产乱让韩 | 中文字幕乱妇无码av在线 | 国产亚洲欧美在线专区 | 免费国产成人高清在线观看网站 | 亚洲精品美女久久久久久久 | 无码av免费一区二区三区试看 | 国产亚洲欧美在线专区 | 日日碰狠狠丁香久燥 | 精品少妇爆乳无码av无码专区 | 无套内射视频囯产 | 亚洲毛片av日韩av无码 | 狠狠亚洲超碰狼人久久 | 天堂а√在线地址中文在线 | 在线亚洲高清揄拍自拍一品区 | 日本肉体xxxx裸交 | 中文字幕无码av波多野吉衣 | 亚洲人亚洲人成电影网站色 | 国产精品久久久久9999小说 | 亚洲人成网站色7799 | 国产亚洲日韩欧美另类第八页 | 中文字幕+乱码+中文字幕一区 | 97色伦图片97综合影院 | 又大又黄又粗又爽的免费视频 | 麻豆国产97在线 | 欧洲 | 狠狠色丁香久久婷婷综合五月 | 18禁黄网站男男禁片免费观看 | 国产精品人人妻人人爽 | 亚洲精品无码国产 | 欧美人与牲动交xxxx | 97精品人妻一区二区三区香蕉 | 亚洲午夜久久久影院 | 婷婷五月综合缴情在线视频 | 中文无码伦av中文字幕 | 免费国产成人高清在线观看网站 | 国产激情艳情在线看视频 | 中文无码精品a∨在线观看不卡 | 未满成年国产在线观看 | 青春草在线视频免费观看 | 久久久精品国产sm最大网站 | 国产日产欧产精品精品app | 国产亚洲精品久久久久久国模美 | 熟妇人妻无乱码中文字幕 | 永久免费观看美女裸体的网站 | 午夜不卡av免费 一本久久a久久精品vr综合 | 国产激情综合五月久久 | 永久免费精品精品永久-夜色 | 久久精品国产一区二区三区 | 丁香花在线影院观看在线播放 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 久久久久99精品成人片 | 成熟妇人a片免费看网站 | 国产精品亚洲综合色区韩国 | 无码精品人妻一区二区三区av | 亚洲精品成人福利网站 | 在线播放亚洲第一字幕 | 成人欧美一区二区三区黑人免费 | 亚洲无人区一区二区三区 | 欧美一区二区三区视频在线观看 | 日本又色又爽又黄的a片18禁 | 欧美喷潮久久久xxxxx | 国产又爽又黄又刺激的视频 | 人人爽人人澡人人高潮 | 国产精品自产拍在线观看 | 精品午夜福利在线观看 | 5858s亚洲色大成网站www | 亚洲精品久久久久久久久久久 | 国产精品久久福利网站 | 国产精品久久久久久久9999 | 亚洲成a人片在线观看无码 | 国产三级精品三级男人的天堂 | 国产精品第一国产精品 | 成人动漫在线观看 | 熟妇人妻激情偷爽文 | 久久久久久久久888 | 精品久久久无码中文字幕 | 无码精品国产va在线观看dvd | 高潮喷水的毛片 | 午夜免费福利小电影 | 亚洲精品国产a久久久久久 | 两性色午夜免费视频 | 澳门永久av免费网站 | 日本一区二区三区免费播放 | 55夜色66夜色国产精品视频 | 国产深夜福利视频在线 | 久久久久久久人妻无码中文字幕爆 | 少妇被黑人到高潮喷出白浆 | 欧美激情综合亚洲一二区 | 国产成人无码av片在线观看不卡 | 在线播放免费人成毛片乱码 | 无码吃奶揉捏奶头高潮视频 | 欧美三级a做爰在线观看 | 国产xxx69麻豆国语对白 | aa片在线观看视频在线播放 | 亚洲精品国产第一综合99久久 | 熟妇人妻无乱码中文字幕 | 国产精品二区一区二区aⅴ污介绍 | 国产无遮挡又黄又爽又色 | 国产亚av手机在线观看 | 国产猛烈高潮尖叫视频免费 | 久久99久久99精品中文字幕 | 300部国产真实乱 | 亚洲日韩中文字幕在线播放 | 国产精品自产拍在线观看 | 久久视频在线观看精品 | 欧美大屁股xxxxhd黑色 | 国产精品亚洲综合色区韩国 | 丰满少妇人妻久久久久久 | 亚洲色大成网站www | а√天堂www在线天堂小说 | 国产高清不卡无码视频 | 巨爆乳无码视频在线观看 | 欧美熟妇另类久久久久久多毛 | 天天综合网天天综合色 | 兔费看少妇性l交大片免费 | 久久精品无码一区二区三区 | 亚洲欧美中文字幕5发布 | 亚洲综合色区中文字幕 | 国产口爆吞精在线视频 | 内射巨臀欧美在线视频 | 对白脏话肉麻粗话av | 少妇性荡欲午夜性开放视频剧场 | 天下第一社区视频www日本 | 乱人伦人妻中文字幕无码 | 国产精品亚洲五月天高清 | 日韩av无码中文无码电影 | 男人扒开女人内裤强吻桶进去 | 无遮挡啪啪摇乳动态图 | 国产成人无码午夜视频在线观看 | 最近免费中文字幕中文高清百度 | 久久人人爽人人爽人人片av高清 | 激情爆乳一区二区三区 | 色婷婷av一区二区三区之红樱桃 | 免费视频欧美无人区码 | 日本精品少妇一区二区三区 | 97精品人妻一区二区三区香蕉 | 中文字幕无线码 | 欧美亚洲日韩国产人成在线播放 | 无码免费一区二区三区 | 清纯唯美经典一区二区 | 日本免费一区二区三区最新 | 少妇无码av无码专区在线观看 | 中文字幕av伊人av无码av | 久久99精品国产麻豆蜜芽 | 国产精品18久久久久久麻辣 | 99久久亚洲精品无码毛片 | 亚洲精品综合五月久久小说 | 国产 浪潮av性色四虎 | 女人被男人躁得好爽免费视频 | 蜜桃av抽搐高潮一区二区 | 国产精品人人爽人人做我的可爱 | 国产精品-区区久久久狼 | 台湾无码一区二区 | 4hu四虎永久在线观看 | 四虎影视成人永久免费观看视频 | 久久综合给久久狠狠97色 | 亚洲国产日韩a在线播放 | 中文字幕无码免费久久9一区9 | 人妻少妇精品无码专区动漫 | 无码人妻精品一区二区三区下载 | 在线观看欧美一区二区三区 | 欧美丰满熟妇xxxx性ppx人交 | 欧美成人午夜精品久久久 | 99riav国产精品视频 | 激情内射亚州一区二区三区爱妻 | 国产精品嫩草久久久久 | 精品夜夜澡人妻无码av蜜桃 | 兔费看少妇性l交大片免费 | 精品久久久久久人妻无码中文字幕 | 麻豆果冻传媒2021精品传媒一区下载 | 国产精品亚洲五月天高清 | 老司机亚洲精品影院 | 无遮无挡爽爽免费视频 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲日韩一区二区三区 | 日本精品人妻无码免费大全 | 国产莉萝无码av在线播放 | 99视频精品全部免费免费观看 | 亚洲国产综合无码一区 | 欧美老妇交乱视频在线观看 | 丝袜美腿亚洲一区二区 | 国产午夜福利亚洲第一 | 婷婷五月综合激情中文字幕 | 亚洲人亚洲人成电影网站色 | 97se亚洲精品一区 | 亚洲国产高清在线观看视频 | 国产亚洲欧美在线专区 | 国内精品一区二区三区不卡 | 欧美性生交活xxxxxdddd | 精品国产一区二区三区四区 | 性欧美疯狂xxxxbbbb | 成人精品视频一区二区三区尤物 | 国产亚洲视频中文字幕97精品 | 久久99精品久久久久婷婷 | 无码一区二区三区在线观看 | 乱人伦人妻中文字幕无码久久网 | 亚洲一区二区三区国产精华液 | 日本va欧美va欧美va精品 | 99riav国产精品视频 | 天天摸天天透天天添 | 日日碰狠狠丁香久燥 | 久久精品99久久香蕉国产色戒 | 久久亚洲a片com人成 | 色综合久久久无码网中文 | 亚洲乱码国产乱码精品精 | 在线看片无码永久免费视频 | 欧美日韩一区二区免费视频 | 日韩精品无码一本二本三本色 | 国产成人无码av片在线观看不卡 | 77777熟女视频在线观看 а天堂中文在线官网 | 老子影院午夜精品无码 | 人妻少妇被猛烈进入中文字幕 | 国产精品无码永久免费888 | 久久国产精品二国产精品 | 久久精品中文字幕大胸 | 99久久人妻精品免费二区 | 国产无遮挡又黄又爽免费视频 | 日韩欧美群交p片內射中文 | 久久aⅴ免费观看 | 久久无码专区国产精品s | 大地资源中文第3页 | 国产性生大片免费观看性 | 久久97精品久久久久久久不卡 | 精品无码国产自产拍在线观看蜜 | 丰满妇女强制高潮18xxxx | 日本一区二区三区免费高清 | 国产三级精品三级男人的天堂 | 大肉大捧一进一出视频出来呀 | 内射后入在线观看一区 | 亚洲娇小与黑人巨大交 | 亚洲另类伦春色综合小说 | 久久久久久a亚洲欧洲av冫 | 正在播放老肥熟妇露脸 | 国产 浪潮av性色四虎 | 国产精品久久国产精品99 | 国产精品久久久久9999小说 | 中文无码成人免费视频在线观看 | 漂亮人妻洗澡被公强 日日躁 | 丝袜 中出 制服 人妻 美腿 | 性色av无码免费一区二区三区 | 中文字幕av无码一区二区三区电影 | 国内精品一区二区三区不卡 | 国产精品高潮呻吟av久久 | 国产成人无码a区在线观看视频app | 久久亚洲日韩精品一区二区三区 | 亚洲人成无码网www | 熟女体下毛毛黑森林 | 乱人伦中文视频在线观看 | 国产真实乱对白精彩久久 | 精品无码国产一区二区三区av | 国语精品一区二区三区 | 77777熟女视频在线观看 а天堂中文在线官网 | 男女爱爱好爽视频免费看 | 宝宝好涨水快流出来免费视频 | 国产精品美女久久久久av爽李琼 | 99久久婷婷国产综合精品青草免费 | 日韩亚洲欧美精品综合 | 国产日产欧产精品精品app | 中文精品无码中文字幕无码专区 | 精品欧洲av无码一区二区三区 | 国产成人无码一二三区视频 | 亚洲最大成人网站 | 男女超爽视频免费播放 | 色欲综合久久中文字幕网 | 国产美女极度色诱视频www | 日日噜噜噜噜夜夜爽亚洲精品 | 国产精品福利视频导航 | 熟女俱乐部五十路六十路av | 国产9 9在线 | 中文 | 99麻豆久久久国产精品免费 | 夜精品a片一区二区三区无码白浆 | 精品国产av色一区二区深夜久久 | 波多野结衣乳巨码无在线观看 | 亚洲午夜无码久久 | 乱码午夜-极国产极内射 | 老司机亚洲精品影院无码 | 任你躁在线精品免费 | 77777熟女视频在线观看 а天堂中文在线官网 | 久久综合久久自在自线精品自 | 特黄特色大片免费播放器图片 | 无码纯肉视频在线观看 | 一本久久a久久精品亚洲 | 国产亚洲欧美在线专区 | 精品久久久久久人妻无码中文字幕 | 人人妻在人人 | 丁香花在线影院观看在线播放 | 亚洲日韩精品欧美一区二区 | 亚洲一区二区三区偷拍女厕 | 人妻天天爽夜夜爽一区二区 | 国内老熟妇对白xxxxhd | 国产精品国产自线拍免费软件 | 麻豆国产人妻欲求不满谁演的 | 俺去俺来也在线www色官网 | 久在线观看福利视频 | 亚洲狠狠色丁香婷婷综合 | 鲁鲁鲁爽爽爽在线视频观看 | 久久精品人人做人人综合 | 在线观看国产午夜福利片 | √8天堂资源地址中文在线 | 亚洲成色在线综合网站 | 久久精品国产大片免费观看 | 国产亚洲精品久久久久久久 | 精品乱码久久久久久久 | 国产成人精品必看 | 国产又粗又硬又大爽黄老大爷视 | 精品久久久无码人妻字幂 | 亚洲综合伊人久久大杳蕉 | 亚洲精品久久久久久一区二区 | 日本丰满护士爆乳xxxx | 亚洲国产av精品一区二区蜜芽 | 377p欧洲日本亚洲大胆 | 牲欲强的熟妇农村老妇女视频 | 精品人妻人人做人人爽夜夜爽 | 久久久久久久久888 | 国产另类ts人妖一区二区 | 国产9 9在线 | 中文 | 在线看片无码永久免费视频 | 欧美 日韩 人妻 高清 中文 | 人妻少妇精品无码专区二区 | 国产精品亚洲五月天高清 | 免费网站看v片在线18禁无码 | 国产一区二区三区日韩精品 | 野外少妇愉情中文字幕 | 中文字幕乱码人妻二区三区 | yw尤物av无码国产在线观看 | 131美女爱做视频 | 国精产品一区二区三区 | 东京无码熟妇人妻av在线网址 | 亚洲综合精品香蕉久久网 | 亚洲人成影院在线无码按摩店 | 麻豆人妻少妇精品无码专区 | 久久久久久av无码免费看大片 | 一区二区三区乱码在线 | 欧洲 | 亚洲娇小与黑人巨大交 | 国精品人妻无码一区二区三区蜜柚 | 又大又硬又爽免费视频 | 久久综合给合久久狠狠狠97色 | 色欲人妻aaaaaaa无码 | 中文字幕乱妇无码av在线 | 国产精品久久久久久亚洲影视内衣 | 永久免费精品精品永久-夜色 | 久久精品人人做人人综合试看 | 夜精品a片一区二区三区无码白浆 | 色婷婷欧美在线播放内射 | 男女超爽视频免费播放 | 久久五月精品中文字幕 | 熟女俱乐部五十路六十路av | 无码播放一区二区三区 | 99在线 | 亚洲 | 国产激情无码一区二区app | 中文字幕久久久久人妻 | 人妻少妇精品久久 | 亚洲一区二区三区偷拍女厕 | 久久五月精品中文字幕 | 亚洲精品无码国产 | 亚洲人交乣女bbw | 国产绳艺sm调教室论坛 | 骚片av蜜桃精品一区 | 奇米影视7777久久精品 | 88国产精品欧美一区二区三区 | 无码国产色欲xxxxx视频 | 国产精品对白交换视频 | 日本xxxx色视频在线观看免费 | 国产色xx群视频射精 | 国内综合精品午夜久久资源 | 在教室伦流澡到高潮hnp视频 | 丁香花在线影院观看在线播放 | 亚洲综合伊人久久大杳蕉 | 欧美人与禽猛交狂配 | 国产精品久久久 | 熟妇人妻激情偷爽文 | 国内揄拍国内精品人妻 | 人妻无码久久精品人妻 | 国产一区二区三区四区五区加勒比 | 亲嘴扒胸摸屁股激烈网站 | 亚洲人成无码网www | 国产又爽又猛又粗的视频a片 | 久久久亚洲欧洲日产国码αv | 狠狠色噜噜狠狠狠狠7777米奇 | 97精品人妻一区二区三区香蕉 | 色偷偷人人澡人人爽人人模 | 熟妇人妻中文av无码 | 粉嫩少妇内射浓精videos | 老司机亚洲精品影院无码 | 在线看片无码永久免费视频 | 免费播放一区二区三区 | 少妇被黑人到高潮喷出白浆 | 偷窥日本少妇撒尿chinese | 日本饥渴人妻欲求不满 | 男女下面进入的视频免费午夜 | 亚洲精品综合一区二区三区在线 | 2020久久香蕉国产线看观看 | 亚洲综合另类小说色区 | 国产精品亚洲五月天高清 | 亚洲国产精华液网站w | 午夜嘿嘿嘿影院 | 久久成人a毛片免费观看网站 | 伊人久久大香线蕉亚洲 | 国产免费无码一区二区视频 | 99久久婷婷国产综合精品青草免费 | 亚洲欧美精品伊人久久 | 国产精品久久久久7777 | 偷窥日本少妇撒尿chinese | 日韩欧美群交p片內射中文 | 真人与拘做受免费视频一 | 中文字幕日产无线码一区 | av在线亚洲欧洲日产一区二区 | 一区二区三区高清视频一 | 日日摸天天摸爽爽狠狠97 | 亚洲国产精品成人久久蜜臀 | 玩弄中年熟妇正在播放 | 女人高潮内射99精品 | 国产亲子乱弄免费视频 | 国产精品久久久久9999小说 | 精品偷自拍另类在线观看 | 水蜜桃亚洲一二三四在线 | 国产精品内射视频免费 | 亚洲国产精品久久人人爱 | 中文字幕av伊人av无码av | 人人澡人人透人人爽 | 午夜丰满少妇性开放视频 | 鲁大师影院在线观看 | 99国产精品白浆在线观看免费 | 成人av无码一区二区三区 | 久久久久亚洲精品中文字幕 | 国产高清av在线播放 | 人妻无码αv中文字幕久久琪琪布 | 久久精品成人欧美大片 | 亚洲精品中文字幕 | 玩弄人妻少妇500系列视频 | 成人精品天堂一区二区三区 | 亚洲色大成网站www国产 | 少妇被粗大的猛进出69影院 | 久久精品国产亚洲精品 | 天堂无码人妻精品一区二区三区 | 人人妻人人藻人人爽欧美一区 | 2020久久超碰国产精品最新 | 图片小说视频一区二区 | 人妻有码中文字幕在线 | 亚洲gv猛男gv无码男同 | 久久人人爽人人爽人人片ⅴ | 亚洲gv猛男gv无码男同 | 国内精品一区二区三区不卡 | 日本精品久久久久中文字幕 | 久久亚洲中文字幕精品一区 | 日韩av无码一区二区三区不卡 | 欧美 日韩 人妻 高清 中文 | 久久综合给久久狠狠97色 | 无码任你躁久久久久久久 | 精品人人妻人人澡人人爽人人 | 免费中文字幕日韩欧美 | 国产va免费精品观看 | 国产精品手机免费 | 国产精品亚洲五月天高清 | 久久久久亚洲精品中文字幕 | 日韩欧美成人免费观看 | 国内精品人妻无码久久久影院蜜桃 | 人人澡人人妻人人爽人人蜜桃 | 国产精品内射视频免费 | 中文字幕人妻无码一夲道 | 理论片87福利理论电影 | 国产成人精品视频ⅴa片软件竹菊 | 午夜精品一区二区三区在线观看 | 欧美老人巨大xxxx做受 | 最新国产乱人伦偷精品免费网站 | 国产亚洲精品久久久闺蜜 | 国产亚洲欧美日韩亚洲中文色 | 丰满少妇人妻久久久久久 | 久久国产精品精品国产色婷婷 | 97久久国产亚洲精品超碰热 | 中文字幕无码日韩欧毛 | 鲁大师影院在线观看 | 婷婷丁香六月激情综合啪 | 小泽玛莉亚一区二区视频在线 | 亚洲一区二区三区香蕉 | 久久久久成人片免费观看蜜芽 | 亚洲精品鲁一鲁一区二区三区 | 国产人妻久久精品二区三区老狼 | 女人高潮内射99精品 | 国产真实乱对白精彩久久 | 一本久久a久久精品vr综合 | 久久人人爽人人爽人人片av高清 | 日本精品少妇一区二区三区 | 国产色视频一区二区三区 | 欧美 丝袜 自拍 制服 另类 | 99久久久国产精品无码免费 | 99麻豆久久久国产精品免费 | 欧洲vodafone精品性 | 欧美肥老太牲交大战 | 国产三级久久久精品麻豆三级 | 国产高清不卡无码视频 | 少女韩国电视剧在线观看完整 | 亚洲成a人片在线观看无码 | 日本xxxx色视频在线观看免费 | 欧美黑人乱大交 | 精品乱码久久久久久久 | 狠狠亚洲超碰狼人久久 | 97se亚洲精品一区 | 东京热男人av天堂 | 亚洲中文字幕无码一久久区 | 色一情一乱一伦一区二区三欧美 | 国产成人无码a区在线观看视频app | 亚洲a无码综合a国产av中文 | 久久成人a毛片免费观看网站 | 少妇人妻偷人精品无码视频 | 无遮挡国产高潮视频免费观看 | 国产成人人人97超碰超爽8 | 国产偷抇久久精品a片69 | 亚洲精品午夜国产va久久成人 | 最新版天堂资源中文官网 | 亚洲s色大片在线观看 | 亚洲中文字幕在线观看 | 久久伊人色av天堂九九小黄鸭 | 高中生自慰www网站 | 无码午夜成人1000部免费视频 | 丰满岳乱妇在线观看中字无码 | 欧美野外疯狂做受xxxx高潮 | 色综合久久中文娱乐网 | 人妻体内射精一区二区三四 | 亚洲一区二区三区国产精华液 | 初尝人妻少妇中文字幕 | 国产97在线 | 亚洲 | 人妻与老人中文字幕 | 国产综合在线观看 | 欧美成人免费全部网站 | 成人欧美一区二区三区黑人免费 | 国产精品人妻一区二区三区四 | av在线亚洲欧洲日产一区二区 | 国产农村妇女高潮大叫 | 亚洲一区二区三区在线观看网站 | 色综合久久久无码中文字幕 | 国产网红无码精品视频 | 久久久久免费看成人影片 | 鲁大师影院在线观看 | 精品久久久无码中文字幕 | 无码一区二区三区在线观看 | 国产亚洲精品久久久久久国模美 | 亚洲欧美精品伊人久久 | 久久www免费人成人片 | 黑人巨大精品欧美一区二区 | 亚洲成a人片在线观看日本 | 夜夜夜高潮夜夜爽夜夜爰爰 | 老熟妇乱子伦牲交视频 | 老太婆性杂交欧美肥老太 | 高潮毛片无遮挡高清免费 | 欧美性生交活xxxxxdddd | 中文字幕日韩精品一区二区三区 | 性欧美大战久久久久久久 | 精品人人妻人人澡人人爽人人 | 精品无人国产偷自产在线 | 亚洲日本va午夜在线电影 | 在线播放无码字幕亚洲 | 亚洲精品国偷拍自产在线麻豆 | 国产av一区二区精品久久凹凸 | 亚洲一区av无码专区在线观看 | 67194成是人免费无码 | 中文字幕人妻无码一区二区三区 | 国产成人综合色在线观看网站 | 国产网红无码精品视频 | 亚洲人成网站在线播放942 | 精品少妇爆乳无码av无码专区 | 18无码粉嫩小泬无套在线观看 | 老熟妇乱子伦牲交视频 | 一本久道久久综合狠狠爱 | 久久亚洲中文字幕无码 | 久久久久成人片免费观看蜜芽 | 成人免费视频在线观看 | 国内精品人妻无码久久久影院蜜桃 | 亚洲s色大片在线观看 | 中文字幕乱妇无码av在线 | 国产色在线 | 国产 | 国产明星裸体无码xxxx视频 | 国产精品亚洲一区二区三区喷水 | 日本www一道久久久免费榴莲 | 国产精品美女久久久久av爽李琼 | 亚洲精品一区二区三区四区五区 | 精品午夜福利在线观看 | 国产精品久久久久久久影院 | 国产精品鲁鲁鲁 | 久久婷婷五月综合色国产香蕉 | 欧美人妻一区二区三区 | 中文字幕+乱码+中文字幕一区 | 亚洲 a v无 码免 费 成 人 a v | 日产精品99久久久久久 | 国产无遮挡又黄又爽免费视频 | 欧美性黑人极品hd | 久久久成人毛片无码 | 大地资源中文第3页 | 久久久久亚洲精品男人的天堂 | 97夜夜澡人人爽人人喊中国片 | 中文字幕乱码人妻无码久久 | 亚洲日本va中文字幕 | 精品亚洲成av人在线观看 | 中文字幕乱码亚洲无线三区 | 国产精品怡红院永久免费 | 精品成在人线av无码免费看 | 日本肉体xxxx裸交 | 国产精品无码mv在线观看 | 成人片黄网站色大片免费观看 | 国内综合精品午夜久久资源 | 九九在线中文字幕无码 | 福利一区二区三区视频在线观看 | 日韩人妻少妇一区二区三区 | 国内丰满熟女出轨videos | 欧美日韩人成综合在线播放 | 国产免费观看黄av片 | 色 综合 欧美 亚洲 国产 | 久久久精品国产sm最大网站 | 欧美日韩一区二区综合 | 夜夜夜高潮夜夜爽夜夜爰爰 | 精品成在人线av无码免费看 | 麻豆人妻少妇精品无码专区 | 久久久亚洲欧洲日产国码αv | 欧美成人午夜精品久久久 | 蜜臀aⅴ国产精品久久久国产老师 | 人妻互换免费中文字幕 | 亚洲熟妇色xxxxx亚洲 | 精品午夜福利在线观看 | 一个人看的www免费视频在线观看 | 无遮无挡爽爽免费视频 | 无码一区二区三区在线 | 动漫av网站免费观看 | 樱花草在线社区www | 欧美兽交xxxx×视频 | 大地资源网第二页免费观看 | 亚洲一区二区三区偷拍女厕 | 人人妻在人人 | 亚洲国产日韩a在线播放 | 国产精品美女久久久网av | 丰满少妇弄高潮了www | 99久久精品国产一区二区蜜芽 | 亚洲va欧美va天堂v国产综合 | 精品人妻人人做人人爽夜夜爽 | 麻花豆传媒剧国产免费mv在线 | www成人国产高清内射 | 国产香蕉尹人综合在线观看 | 鲁大师影院在线观看 | 亚洲中文无码av永久不收费 | 日韩精品一区二区av在线 | 亚洲色欲色欲欲www在线 | 欧美午夜特黄aaaaaa片 | 日韩av无码中文无码电影 | 欧美亚洲日韩国产人成在线播放 | 国产精品资源一区二区 | 国产一区二区三区精品视频 | 狠狠综合久久久久综合网 | 人妻天天爽夜夜爽一区二区 | 97人妻精品一区二区三区 | 人人妻人人澡人人爽人人精品 | 少妇性l交大片欧洲热妇乱xxx | 无码人妻丰满熟妇区毛片18 | 狠狠色噜噜狠狠狠狠7777米奇 | 97无码免费人妻超级碰碰夜夜 | 久久久婷婷五月亚洲97号色 | 国产午夜无码精品免费看 | av香港经典三级级 在线 | 人人澡人人妻人人爽人人蜜桃 | 免费无码肉片在线观看 | 日本成熟视频免费视频 | 亚无码乱人伦一区二区 | 大肉大捧一进一出视频出来呀 | 亚洲精品美女久久久久久久 | 国产97在线 | 亚洲 | 精品国产乱码久久久久乱码 | 蜜臀av在线播放 久久综合激激的五月天 | 亚洲精品一区二区三区在线 | 无套内射视频囯产 | 一区二区传媒有限公司 | 人人爽人人澡人人高潮 | 两性色午夜免费视频 | 精品偷拍一区二区三区在线看 | 精品无码国产一区二区三区av | 中文字幕无码av波多野吉衣 | 熟妇人妻激情偷爽文 | 精品久久久久久人妻无码中文字幕 | 国产在线aaa片一区二区99 | 亚洲阿v天堂在线 | 国产人妻人伦精品 | 亚洲区小说区激情区图片区 | 亚洲色无码一区二区三区 | 一本久道高清无码视频 | 日日麻批免费40分钟无码 | 中文字幕无码av激情不卡 | 国产乱人无码伦av在线a | 久久综合九色综合欧美狠狠 | 国产午夜无码视频在线观看 | 精品水蜜桃久久久久久久 | 激情综合激情五月俺也去 | 男女猛烈xx00免费视频试看 | 欧美色就是色 | 无码国产乱人伦偷精品视频 | 国产三级久久久精品麻豆三级 | 国内少妇偷人精品视频免费 | 精品久久综合1区2区3区激情 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲无人区午夜福利码高清完整版 | 亚洲爆乳精品无码一区二区三区 | 乱人伦人妻中文字幕无码久久网 | 免费无码肉片在线观看 | 日韩在线不卡免费视频一区 | 亚洲欧美日韩成人高清在线一区 | 亚洲自偷自拍另类第1页 | 人人妻人人澡人人爽欧美一区九九 | 成人欧美一区二区三区黑人 | 波多野结衣乳巨码无在线观看 | 国内精品人妻无码久久久影院 | 色五月丁香五月综合五月 | 日本免费一区二区三区最新 | 黄网在线观看免费网站 | 色综合久久88色综合天天 | 国产精华av午夜在线观看 | 久久精品国产亚洲精品 | 精品人妻人人做人人爽 | 久久精品国产一区二区三区肥胖 | 国产无套内射久久久国产 | 无码人妻精品一区二区三区下载 | 亚洲成a人片在线观看日本 | 麻花豆传媒剧国产免费mv在线 | 亚洲日韩av一区二区三区四区 | 国产精品久久久久影院嫩草 | 亚洲日韩av一区二区三区中文 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产精品欧美成人 | 色欲综合久久中文字幕网 | 午夜福利不卡在线视频 | 国产精品18久久久久久麻辣 | 一个人免费观看的www视频 | 领导边摸边吃奶边做爽在线观看 | 国产农村乱对白刺激视频 | 久久国语露脸国产精品电影 | 永久免费观看美女裸体的网站 | 日欧一片内射va在线影院 | 国精产品一品二品国精品69xx | 一本大道伊人av久久综合 | 成熟女人特级毛片www免费 | 四虎影视成人永久免费观看视频 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产亚洲tv在线观看 | 国产成人一区二区三区在线观看 | 国产99久久精品一区二区 | 77777熟女视频在线观看 а天堂中文在线官网 | 77777熟女视频在线观看 а天堂中文在线官网 | 理论片87福利理论电影 | 少妇高潮喷潮久久久影院 | 99精品视频在线观看免费 | 久久国内精品自在自线 | 老熟妇仑乱视频一区二区 | 无码播放一区二区三区 | 国产欧美精品一区二区三区 | 国产xxx69麻豆国语对白 | 无码精品人妻一区二区三区av | 麻花豆传媒剧国产免费mv在线 | 麻豆果冻传媒2021精品传媒一区下载 | 久久久久人妻一区精品色欧美 | 女人和拘做爰正片视频 | 亚洲精品成人av在线 | 成人综合网亚洲伊人 | 日本欧美一区二区三区乱码 | 成 人影片 免费观看 | 中文字幕无码乱人伦 | 日日天干夜夜狠狠爱 | 奇米影视888欧美在线观看 | 黑森林福利视频导航 | 国産精品久久久久久久 | 国产欧美亚洲精品a | 国产精品无码一区二区三区不卡 | 亚洲精品一区二区三区在线 | 久久久久久av无码免费看大片 | 亚洲第一无码av无码专区 | 欧美乱妇无乱码大黄a片 | 久久熟妇人妻午夜寂寞影院 | 久久综合激激的五月天 | 一本色道婷婷久久欧美 | 亚洲精品成人福利网站 | 一本久道久久综合婷婷五月 | 欧美兽交xxxx×视频 | 狠狠综合久久久久综合网 | 狂野欧美激情性xxxx | 国产成人精品无码播放 | 亚洲狠狠色丁香婷婷综合 | 麻花豆传媒剧国产免费mv在线 | 国产高清不卡无码视频 | 18精品久久久无码午夜福利 | 亚洲自偷精品视频自拍 | 国产精品人人妻人人爽 | 波多野结衣 黑人 | 人人妻人人澡人人爽欧美一区九九 | 香蕉久久久久久av成人 | 精品国产麻豆免费人成网站 | 麻豆国产97在线 | 欧洲 | 免费人成在线视频无码 | 女人高潮内射99精品 | 亚洲精品久久久久avwww潮水 | 久久无码中文字幕免费影院蜜桃 | 国产精品多人p群无码 | 国产成人无码av一区二区 | 亚洲精品久久久久avwww潮水 | 国产精品久久久久7777 | 丰满人妻被黑人猛烈进入 | aⅴ亚洲 日韩 色 图网站 播放 | 国产一区二区三区精品视频 | 亚洲 欧美 激情 小说 另类 | 国产亚av手机在线观看 | 亚洲熟妇色xxxxx欧美老妇 | 高清无码午夜福利视频 | 亚洲中文无码av永久不收费 | 成熟妇人a片免费看网站 | 亚洲爆乳大丰满无码专区 | 综合网日日天干夜夜久久 | 成人av无码一区二区三区 | 日韩精品一区二区av在线 | 丰满肥臀大屁股熟妇激情视频 | 撕开奶罩揉吮奶头视频 | 亚洲乱码中文字幕在线 | 亚洲国产欧美日韩精品一区二区三区 | 久久天天躁狠狠躁夜夜免费观看 | 人妻夜夜爽天天爽三区 | 蜜桃av抽搐高潮一区二区 | 色诱久久久久综合网ywww | 亚洲爆乳精品无码一区二区三区 | 无人区乱码一区二区三区 | 奇米影视7777久久精品人人爽 | 国产午夜福利100集发布 | 色一情一乱一伦一区二区三欧美 | 熟女少妇人妻中文字幕 | 成人性做爰aaa片免费看不忠 | 日日夜夜撸啊撸 | 国产亚洲精品久久久久久大师 | 国产成人一区二区三区在线观看 | 国产精品久久久久9999小说 | 久久精品成人欧美大片 | 丝袜美腿亚洲一区二区 | 中文字幕人妻丝袜二区 | 乱码午夜-极国产极内射 | 国产成人精品三级麻豆 | 亚洲精品成a人在线观看 | 性生交大片免费看l | 宝宝好涨水快流出来免费视频 | 久久zyz资源站无码中文动漫 | 蜜桃视频插满18在线观看 | 中文字幕av日韩精品一区二区 | 精品夜夜澡人妻无码av蜜桃 | 国产超级va在线观看视频 | 中文字幕色婷婷在线视频 | 国产精品自产拍在线观看 | 任你躁在线精品免费 | 日韩精品乱码av一区二区 | 国产内射老熟女aaaa | 强伦人妻一区二区三区视频18 | 精品 日韩 国产 欧美 视频 | 乱码av麻豆丝袜熟女系列 | 国产又粗又硬又大爽黄老大爷视 | 色五月五月丁香亚洲综合网 | 人妻天天爽夜夜爽一区二区 | 欧美老熟妇乱xxxxx | 日产精品99久久久久久 | 国内精品一区二区三区不卡 | 人人澡人人妻人人爽人人蜜桃 | 天堂亚洲2017在线观看 | 国产三级精品三级男人的天堂 | 1000部夫妻午夜免费 | 成人三级无码视频在线观看 | 国产欧美熟妇另类久久久 | 欧洲美熟女乱又伦 | 激情内射日本一区二区三区 | 国产亚av手机在线观看 | 性生交大片免费看l | 国产熟女一区二区三区四区五区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 荫蒂被男人添的好舒服爽免费视频 | 美女扒开屁股让男人桶 | 日韩av激情在线观看 | 亚洲欧美国产精品专区久久 | 中文字幕+乱码+中文字幕一区 | 精品一区二区三区无码免费视频 | 亚洲日本va午夜在线电影 | 女人高潮内射99精品 | 综合激情五月综合激情五月激情1 | 亚洲成av人片天堂网无码】 | 国内丰满熟女出轨videos | 中文字幕+乱码+中文字幕一区 | 高清无码午夜福利视频 | 欧美熟妇另类久久久久久多毛 | 午夜丰满少妇性开放视频 | 久久久无码中文字幕久... | 国产特级毛片aaaaaa高潮流水 | 六月丁香婷婷色狠狠久久 |