• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    使用C# 7元組語(yǔ)言特性優(yōu)化數(shù)據(jù)驅(qū)動(dòng)軟件研究

    2017-09-29 17:27謝小魁
    軟件導(dǎo)刊 2017年9期
    關(guān)鍵詞:元組

    摘 要:C#作為一種現(xiàn)代編程語(yǔ)言,廣泛應(yīng)用于通用業(yè)務(wù)系統(tǒng)開(kāi)發(fā)。由于早期的C#語(yǔ)法限制,在數(shù)據(jù)密集型領(lǐng)域使用MatLab、Python、IDL(Interactive Data Language)等動(dòng)態(tài)腳本語(yǔ)言更為合適。C# 7新增了簡(jiǎn)單靈活的輕量級(jí)元組類型。分析了元組的幾個(gè)典型應(yīng)用場(chǎng)景,并給出了具體示例,包括多變量初始化、多變量賦值、多變量互換、封裝函數(shù)返回的多變量、作為中間層的數(shù)據(jù)容器、用于LINQ select表達(dá)式獲得語(yǔ)義信息,以及利用析構(gòu)(deconstructing)實(shí)現(xiàn)對(duì)象到元組的自動(dòng)轉(zhuǎn)換等。實(shí)踐表明,元組適合數(shù)據(jù)驅(qū)動(dòng)領(lǐng)域開(kāi)發(fā),提高了生產(chǎn)效率,達(dá)到了動(dòng)態(tài)語(yǔ)言效果。對(duì)C# 7 tuple存在的缺陷,如deconstructing的非對(duì)稱性、賦值的非傳遞性和可變性(mutable)等提出了改進(jìn)意見(jiàn),為利用開(kāi)源編譯器Roslyn優(yōu)化C#特性提供了設(shè)計(jì)思路。

    關(guān)鍵詞:元組;動(dòng)態(tài)腳本;語(yǔ)言設(shè)計(jì);編譯器Roslyn

    DOI:10.11907/rjdk.171599

    中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2017)009-0007-03

    Abstract:As a modern developing language, C# was widely used in general-purpose software development. But due to C# syntax limitation in the past, data-intensive application domain were dominated by dynamic script languages such as MatLab, Python, IDL(Interactive Data Language). C# 7 introduces tuple feature which is a simple and flexible data type.Typical application scenarios were analyzed and example details were presented, including initialization, assignment and swap of multiple variables, packing return values of a method, providing semantic information in LINQ select and transform object to tuple members automatically. The study showed that C# tuple is suitable for data-driven software development in order to improve developer productivity and achieves effects of dynamic languages. At last, the C# 7 defects in design, including asymmetry of deconstructing, non-transitivity of assignment and mutable were analyzed, and corresponding updating suggestion were presented, providing ideal for optimize C# 7 features in the future using open source compiler Roslyn.

    Key Words:Tuple; Dynamic Script; Language Design; Compiler Roslyn

    0 引言

    C#作為一種通用的面向?qū)ο缶幊陶Z(yǔ)言,提供了豐富的類型系統(tǒng),使得編譯器可進(jìn)行強(qiáng)類型語(yǔ)法檢查,能較好保證代碼的安全性,在用戶界面、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、多媒體和地理信息系統(tǒng)等通用軟件開(kāi)發(fā)領(lǐng)域有著廣泛應(yīng)用。但由于語(yǔ)法限制,過(guò)去在數(shù)據(jù)驅(qū)動(dòng)和交互腳本領(lǐng)域,僅僅是提取數(shù)據(jù),開(kāi)發(fā)者需要編寫(xiě)大量額外的類或結(jié)構(gòu)體,掩蓋了開(kāi)發(fā)者的設(shè)計(jì)意圖,降低了開(kāi)發(fā)效率;同時(shí)C#的類實(shí)例(class instance)是引用類型(reference),會(huì)帶來(lái)較大性能損失。

    C# 7引入了tuple(元組)類型,由編譯器和IDE(Integrated Development Environment)提供上下文智能感知和強(qiáng)類型檢查,在Visual Studio 2017中可以使用。元組是一種比類和結(jié)構(gòu)體更簡(jiǎn)單靈活的輕量級(jí)(lightweight)值類型(ValueType),完全不同于以前.NET平臺(tái)的Tuple泛型API(Application Programming Interface)。為此,本文探討該元組特性在數(shù)據(jù)驅(qū)動(dòng)領(lǐng)域的開(kāi)發(fā)及應(yīng)用。

    1 應(yīng)用場(chǎng)景和示例

    1.1 多變量同時(shí)初始化

    若不利用元組語(yǔ)言特性,兩個(gè)變量初始化一般做法為:

    string name = "XiangRikui";

    int age = 10;

    利用元組語(yǔ)言特性,兩個(gè)變量初始化可寫(xiě)成下面的第1句,第2句和第3句具有同樣效果,只是利用了C#[1-8]的隱形類型(implicit type),由編譯器的類型推斷(type inference)功能確定真正的強(qiáng)類型(strong type)。

    (string name, int age) = ("XiangRikui", 10);

    (var name, var age) = ("XiangRikui", 10);endprint

    var (name, age) = ("XiangRikui", 10);

    1.2 多變量同時(shí)賦值

    int age;

    string name;

    (name, age) = ("XiangRikui", 1);

    利用元組的多變量同時(shí)初始化和同時(shí)賦值功能,計(jì)算斐波那契數(shù)列,可達(dá)到同動(dòng)態(tài)語(yǔ)言Python相同的精簡(jiǎn)[9]:

    int num = 100;

    var (a, b) = (0, 1);

    var fib = new List(); // containing Fibonacci series up to n

    while (b < num)

    {

    fib.Add(b);

    (a, b) = (b, a + b);

    }

    1.3 交換變量值

    對(duì)于兩個(gè)相同類型(例如字符串)的變量a和b,要交換值,傳統(tǒng)的做法是引入第3個(gè)臨時(shí)變量,而且要考慮臨時(shí)變量的數(shù)據(jù)類型。

    string temp = a;

    a = b;

    b = t;

    利用元組,不用引入臨時(shí)變量,可直接互換,這在數(shù)據(jù)排序里非常有用。利用這一特性,可同時(shí)交換任意數(shù)量的變量值。

    (a, b) = (b, a);

    1.4 封裝函數(shù)返回的多個(gè)變量

    在動(dòng)態(tài)腳本語(yǔ)言如MatLab、Python和ENVI IDL(Interactive Data Language)中,都支持函數(shù)返回多個(gè)變量。但過(guò)去在C#中,一般需要編寫(xiě)新的類或結(jié)構(gòu)體,而類或結(jié)構(gòu)體意味著對(duì)數(shù)據(jù)操作,這掩蓋了開(kāi)發(fā)者意圖,同時(shí)也帶來(lái)了性能損失。利用元組,可以封裝(pack)函數(shù)返回的多個(gè)變量。

    例如,利用全站儀測(cè)量的水平距離和方位角,不用編寫(xiě)新的Point類型就可直接利用元組返回函數(shù)計(jì)算坐標(biāo)增量(x, y)。

    using static System.Math;

    //from length and angle to compute coordinate increment (x,y)

    public static (double x, double y) Rect(double length, double angle)

    {

    double x = length * Cos(angle);

    double y = length * Sin(angle);

    return (x, y);

    }

    //tuple function call demo

    double len, alpha;

    //…

    var p = Rect(len, alpha);

    1.5 作為中間層的數(shù)據(jù)容器

    元組可存儲(chǔ)來(lái)自文本文件、Excel、XMl和數(shù)據(jù)庫(kù)中的數(shù)據(jù),代替重量級(jí)的DataTable或自定義類型。

    例如,激光掃描儀測(cè)量的彩色激光點(diǎn)云,同時(shí)具有三維坐標(biāo)和顏色信息,利用元組返回測(cè)量值可表示如下:

    (double x, double y, double z, int r, int g, int b) cloudPoint=GetCloudPoint();

    1.6 獲得語(yǔ)義信息

    LINQ表達(dá)式中,select用命名元組(named tuple)表示可以獲得的語(yǔ)義信息 :

    IEnumerable<(int ID, string Title)> currentItems =

    from item in AllItems

    select (item.ID, item.Title);

    如果不利用命名元組,則要么生成匿名對(duì)象,要么需要處理Item1、Item2這樣的非語(yǔ)義名稱。

    1.7 實(shí)現(xiàn)對(duì)象到元組的自動(dòng)轉(zhuǎn)換

    在類中定義Deconstruct函數(shù),把組成該類型的字段用out參數(shù)表示:

    public class Point

    {

    public Point(double x, double y)

    {

    this.X = x;

    this.Y = y;

    }

    public double X { get; }

    public double Y { get; }

    //Deconstruct corresponding to tuple element unpack

    public void Deconstruct(out double x, out double y)

    {

    x = this.X;

    y = this.Y;

    }

    public static Point Construct((double x, double y) tuple)

    {

    Point result = new Point(tuple.x, tuple.y);

    return result;

    }

    }

    利用析構(gòu)(Deconstruction)功能,編譯器可拆封用戶自定義類型字段,提取字段到相應(yīng)的元組成員,實(shí)現(xiàn)對(duì)象到tuple(字段)的自動(dòng)轉(zhuǎn)換,tuple字段與Construct函數(shù)中的out變量一一對(duì)應(yīng):endprint

    var p = new Point(3.14, 6.28);

    (double X, double Y) = p;

    2 C# 7 tuple存在的缺陷及設(shè)計(jì)建議

    2.1 Deconstruction設(shè)計(jì)的非對(duì)稱性

    C# 7支持對(duì)象到元組(字段)的自動(dòng)轉(zhuǎn)換,但不支持tuple到對(duì)象的自動(dòng)轉(zhuǎn)換。在類中定義Deconstruct函數(shù)后,可以利用tuple自動(dòng)提取相應(yīng)字段,輕松實(shí)現(xiàn)對(duì)象到tuple(成員字段)的轉(zhuǎn)換。但即使類實(shí)現(xiàn)了Construct函數(shù),C#卻沒(méi)有提供tuple(成員字段)到對(duì)象的自動(dòng)轉(zhuǎn)換功能:

    Point p = Point.Construct((3.14, 6.28));//right

    // Cannot implicitly convert type '(double, double)' to 'Program.Point'

    // Point p = (3.14, 6.28);//error

    建議:增加Construct支持Deconstruction。

    從語(yǔ)法設(shè)計(jì)的角度,增加對(duì)Construct的支持,由編譯器進(jìn)行類型檢查,并自動(dòng)調(diào)用Construct函數(shù)實(shí)現(xiàn)從元組到對(duì)象的自動(dòng)轉(zhuǎn)換:

    Var tuple = (3.14, 6.28);

    ClassName p = tuple; //設(shè)計(jì)建議,由編譯器自動(dòng)調(diào)用對(duì)應(yīng)類的ClassName.Construct

    ClassName p = ClassName.Construct(tuple);//right

    2.2 tuple與Deconstruction賦值的非傳遞性

    當(dāng)賦值操作符右邊為元組字面常量(tuple literal)時(shí),左邊可以命名元組變量(named tuple),或者拆封(unpack)元組成員。但當(dāng)賦值操作符右邊為對(duì)象時(shí),左邊只能為拆封元組成員形式,不能為元組變量:

    /* 1 */ (double X, double Y) tuple = (3.14, 6.28); // tuple literal, right

    /* 2 */ (double X, double Y) = (3.14, 6.28); // tuple literal, right

    /* 3 */ var p = new Point(3.14, 6.28); //class object

    /* 4 */ (double X, double Y) = p; // class object, right

    //Cannot implicitly convert type 'Program.Point' to '(double x, double y)

    /* 5 */ (double X, double Y) tuple = p; // error

    建議:當(dāng)賦值操作符右邊為對(duì)象實(shí)例時(shí),左邊支持命名數(shù)組。

    2.3 元組可變類型

    元組是值類型(ValueType),屬于可變類型(mutable)。在C#中,ValueType被認(rèn)為是可變類型。在并行計(jì)算、多線程計(jì)算中,可變類型不是安全的類型。

    建議:增加不可變?cè)M(immutable tuple)

    對(duì)所有值類型增加關(guān)鍵字immutable,以適用并行計(jì)算和多線程計(jì)算:

    immutable var (X, Y) tuple = (3.14, 6.28);

    3 結(jié)語(yǔ)

    利用tuple打包(pack)數(shù)據(jù),可以獲得類似Python、MatLab和ENVI IDL(Interactive Data Language)等動(dòng)態(tài)語(yǔ)言效果。但目前C#元組存在一些小的設(shè)計(jì)缺陷,通過(guò)修改C#開(kāi)源編譯器Roslyn[10],可以設(shè)計(jì)新特性。加上C#的動(dòng)態(tài)特性(dynamic)、并行計(jì)算(parallel)、異步計(jì)算(async)、函數(shù)式編程(functional)和跨平臺(tái)(.NET Core)等新特性,使這一通用語(yǔ)言在數(shù)據(jù)驅(qū)動(dòng)、甚至在數(shù)值計(jì)算密集型領(lǐng)域得到更廣泛的應(yīng)用。

    參考文獻(xiàn):

    [1] 沈?qū)m新.基于C#的Windows窗體端口掃描程序分析[J].軟件導(dǎo)刊,2017(1):38-40.

    [2] 嚴(yán)真卿,楊增汪.基于C#的即時(shí)通訊工具開(kāi)發(fā)[J].電子技術(shù)與軟件工程,2014(14):95-138.

    [3] 周虎.基于C#的Excel數(shù)據(jù)批量導(dǎo)入SqlServer的方法研究與實(shí)現(xiàn)[J].軟件工程師,2014(12):54-56.

    [4] 王舜.基于C#的C/S和B/S職場(chǎng)發(fā)展分析[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014(2):135-136.

    [5] 謝小魁,陳青海,周清,等.基于C#.NET和開(kāi)放數(shù)據(jù)的大比例尺高精度數(shù)字高程模型提取研究[J].測(cè)繪與空間地理信息,2016(9):13-15.

    [6] 謝小魁,方武生,田良輝,等.基于EXCEL VSTO的測(cè)量導(dǎo)線計(jì)算教學(xué)系統(tǒng)設(shè)計(jì)[J].礦山測(cè)量,2016(4):95-122.

    [7] MICROSOFT. What's new in C# 7[EB/OL]. https://docs.microsoft.com/en-us/dotnet/articles/csharp/whats-new/csharp-7.

    [8] MICROSOFT. C# tuple types[EB/OL]. https://docs.microsoft.com/en-us/dotnet/articles/csharp/tuples.

    [9] PYTHON SOFTWARE FOUNDATION. Defining functions[EB/OL]. https://docs.python.org/3/tutorial/controlflow.html#defining-functions.

    [10] MICROSOFT. .NET compiler platform ("Roslyn")[EB/OL]. https://github.com/dotnet/Roslyn.

    (責(zé)任編輯:杜能鋼)endprint

    猜你喜歡
    元組
    基于詞嵌入的元組級(jí)數(shù)據(jù)溯源方法
    Python核心語(yǔ)法
    針對(duì)隱藏Web數(shù)據(jù)庫(kù)的Skyline查詢方法研究*
    QJoin:質(zhì)量驅(qū)動(dòng)的亂序數(shù)據(jù)流連接處理技術(shù)*
    一種基于時(shí)間戳的簡(jiǎn)單表縮減算法?
    海量數(shù)據(jù)上有效的top-kSkyline查詢算法*
    Mixly開(kāi)源項(xiàng)目設(shè)計(jì)28:秒懂74HC595移位寄存器(三)
    不確定數(shù)據(jù)的有效查詢處理評(píng)估技術(shù)研究
    基于減少檢索的負(fù)表約束優(yōu)化算法
    基于差異化聚類的分級(jí)隱私保護(hù)數(shù)據(jù)發(fā)布方法
    少妇被粗大猛烈的视频| 久久久精品免费免费高清| 免费观看性生交大片5| 两性夫妻黄色片| 精品一区二区三卡| 老司机影院成人| 高清av免费在线| 超色免费av| 国产成人精品在线电影| 伊人久久国产一区二区| 亚洲综合精品二区| 一级毛片电影观看| 亚洲国产av影院在线观看| 大香蕉久久网| 免费少妇av软件| 人妻人人澡人人爽人人| 亚洲国产欧美在线一区| 天天躁夜夜躁狠狠久久av| 欧美激情 高清一区二区三区| 欧美日韩av久久| 国产一区二区 视频在线| 在线观看免费日韩欧美大片| 老司机影院毛片| 久久婷婷青草| 一级a爱视频在线免费观看| 久久 成人 亚洲| 亚洲综合色网址| 亚洲一区二区三区欧美精品| 欧美激情 高清一区二区三区| 午夜影院在线不卡| 欧美日韩国产mv在线观看视频| 黄色怎么调成土黄色| 欧美中文综合在线视频| 亚洲一卡2卡3卡4卡5卡精品中文| 亚洲国产欧美一区二区综合| 久久久国产精品麻豆| 国产成人一区二区在线| 另类亚洲欧美激情| 亚洲国产毛片av蜜桃av| 男女午夜视频在线观看| 精品亚洲乱码少妇综合久久| 女的被弄到高潮叫床怎么办| 亚洲国产精品成人久久小说| 我要看黄色一级片免费的| 99九九在线精品视频| av国产精品久久久久影院| 可以免费在线观看a视频的电影网站 | 青春草国产在线视频| 精品久久久精品久久久| 天美传媒精品一区二区| 国产亚洲午夜精品一区二区久久| 日本vs欧美在线观看视频| 国产一区二区三区av在线| 51午夜福利影视在线观看| 国产不卡av网站在线观看| 天天影视国产精品| 一级黄片播放器| 日韩免费高清中文字幕av| 91精品伊人久久大香线蕉| 久久久久人妻精品一区果冻| 精品午夜福利在线看| 七月丁香在线播放| 一区二区三区精品91| 国产免费福利视频在线观看| 伦理电影大哥的女人| 巨乳人妻的诱惑在线观看| 十八禁高潮呻吟视频| 国产乱来视频区| 久久久久网色| 日韩欧美精品免费久久| 国产99久久九九免费精品| 欧美日韩亚洲国产一区二区在线观看 | 九九爱精品视频在线观看| 免费日韩欧美在线观看| 一本大道久久a久久精品| 啦啦啦视频在线资源免费观看| 亚洲国产成人一精品久久久| 如日韩欧美国产精品一区二区三区| 亚洲欧美精品自产自拍| 亚洲久久久国产精品| 另类亚洲欧美激情| 热99久久久久精品小说推荐| 巨乳人妻的诱惑在线观看| 老汉色∧v一级毛片| 日韩 亚洲 欧美在线| 亚洲国产最新在线播放| 日本av手机在线免费观看| 啦啦啦在线免费观看视频4| 久久综合国产亚洲精品| av一本久久久久| 午夜久久久在线观看| 桃花免费在线播放| 精品一区二区三区四区五区乱码 | 国产亚洲av片在线观看秒播厂| 女的被弄到高潮叫床怎么办| 国产精品久久久久成人av| 97人妻天天添夜夜摸| 久久精品亚洲熟妇少妇任你| 久久青草综合色| 亚洲欧洲日产国产| 菩萨蛮人人尽说江南好唐韦庄| 99香蕉大伊视频| 日韩伦理黄色片| 这个男人来自地球电影免费观看 | 日本爱情动作片www.在线观看| 久久久久人妻精品一区果冻| 大片电影免费在线观看免费| 国产男人的电影天堂91| 操美女的视频在线观看| 亚洲精品久久久久久婷婷小说| 午夜日本视频在线| 久久精品人人爽人人爽视色| 精品国产一区二区三区四区第35| 国产乱人偷精品视频| www日本在线高清视频| 中国国产av一级| 免费高清在线观看视频在线观看| 狠狠婷婷综合久久久久久88av| 又大又黄又爽视频免费| 在线观看一区二区三区激情| videos熟女内射| 蜜桃国产av成人99| 侵犯人妻中文字幕一二三四区| 亚洲成人av在线免费| 在线观看免费视频网站a站| 91成人精品电影| videos熟女内射| 在线观看一区二区三区激情| 1024香蕉在线观看| 国产精品香港三级国产av潘金莲 | 日韩一区二区三区影片| 日韩一区二区三区影片| 久久精品久久久久久久性| 秋霞在线观看毛片| 国产精品熟女久久久久浪| 丰满少妇做爰视频| 亚洲欧美清纯卡通| av国产久精品久网站免费入址| 欧美日韩国产mv在线观看视频| 中文字幕精品免费在线观看视频| 另类精品久久| 久久毛片免费看一区二区三区| 亚洲精品美女久久av网站| 性色av一级| 日本91视频免费播放| 老司机影院毛片| 极品人妻少妇av视频| 国产成人免费无遮挡视频| 一级a爱视频在线免费观看| 久久狼人影院| 亚洲七黄色美女视频| 菩萨蛮人人尽说江南好唐韦庄| netflix在线观看网站| 久久人人97超碰香蕉20202| 免费在线观看完整版高清| 亚洲人成电影观看| 丝袜美腿诱惑在线| 久久女婷五月综合色啪小说| 精品国产露脸久久av麻豆| 亚洲欧美精品自产自拍| 老鸭窝网址在线观看| 亚洲av中文av极速乱| 如日韩欧美国产精品一区二区三区| 国产麻豆69| 国产免费又黄又爽又色| 美女中出高潮动态图| 欧美av亚洲av综合av国产av | 少妇精品久久久久久久| 亚洲成人免费av在线播放| 亚洲国产看品久久| 亚洲精品久久成人aⅴ小说| 午夜免费男女啪啪视频观看| 国产精品一二三区在线看| 亚洲欧美精品综合一区二区三区| 免费日韩欧美在线观看| 美女国产高潮福利片在线看| 在线 av 中文字幕| 女人爽到高潮嗷嗷叫在线视频| 国产1区2区3区精品| 欧美日韩视频高清一区二区三区二| 一级毛片电影观看| 久久久久久久久免费视频了| 久久午夜综合久久蜜桃| 国产精品一区二区在线不卡| 国产高清国产精品国产三级| 亚洲国产精品一区三区| 国产99久久九九免费精品| 精品少妇久久久久久888优播| 久久久久视频综合| xxx大片免费视频| 亚洲av福利一区| 国产亚洲午夜精品一区二区久久| 午夜激情久久久久久久| svipshipincom国产片| 黄色怎么调成土黄色| av在线播放精品| 最近2019中文字幕mv第一页| 亚洲精品在线美女| 亚洲国产欧美日韩在线播放| 999久久久国产精品视频| 国产精品久久久av美女十八| 尾随美女入室| 精品人妻熟女毛片av久久网站| 伊人久久大香线蕉亚洲五| 天堂俺去俺来也www色官网| 久久久久国产精品人妻一区二区| 国产精品蜜桃在线观看| 国产乱人偷精品视频| 80岁老熟妇乱子伦牲交| 国产又色又爽无遮挡免| 男女免费视频国产| 最黄视频免费看| 欧美日韩亚洲国产一区二区在线观看 | 母亲3免费完整高清在线观看| 亚洲国产精品一区二区三区在线| 亚洲精品一区蜜桃| 18禁观看日本| 一区福利在线观看| 99re6热这里在线精品视频| 免费观看人在逋| 国产黄频视频在线观看| 亚洲成国产人片在线观看| 色综合欧美亚洲国产小说| 久久人人爽av亚洲精品天堂| 国产成人a∨麻豆精品| 欧美人与性动交α欧美软件| 亚洲三区欧美一区| 一个人免费看片子| 国产毛片在线视频| 大香蕉久久网| 欧美精品一区二区大全| 精品一区二区免费观看| 亚洲精品国产一区二区精华液| 日韩成人av中文字幕在线观看| 我要看黄色一级片免费的| 日韩一区二区三区影片| 国产深夜福利视频在线观看| 男人添女人高潮全过程视频| 国产伦理片在线播放av一区| 久久精品人人爽人人爽视色| 1024视频免费在线观看| 视频区图区小说| 久久久精品94久久精品| 久久国产亚洲av麻豆专区| 一区二区三区激情视频| 男女午夜视频在线观看| 看免费成人av毛片| a级毛片在线看网站| 国产精品国产三级专区第一集| 国产麻豆69| 各种免费的搞黄视频| 久久久精品94久久精品| av卡一久久| 九色亚洲精品在线播放| 飞空精品影院首页| 久久天堂一区二区三区四区| 叶爱在线成人免费视频播放| av在线观看视频网站免费| 中文字幕色久视频| 日本av手机在线免费观看| av女优亚洲男人天堂| 亚洲图色成人| 国产极品天堂在线| av又黄又爽大尺度在线免费看| 国产老妇伦熟女老妇高清| 国产成人免费无遮挡视频| 男人操女人黄网站| 91aial.com中文字幕在线观看| 极品人妻少妇av视频| 久久久精品94久久精品| 咕卡用的链子| 一级a爱视频在线免费观看| 18禁动态无遮挡网站| 两个人免费观看高清视频| 国产av码专区亚洲av| 久久久亚洲精品成人影院| 丝袜人妻中文字幕| e午夜精品久久久久久久| 免费观看性生交大片5| 水蜜桃什么品种好| 精品亚洲成国产av| 另类亚洲欧美激情| 国产女主播在线喷水免费视频网站| 免费不卡黄色视频| 黄色怎么调成土黄色| 一级黄片播放器| 日韩电影二区| 51午夜福利影视在线观看| 日韩制服骚丝袜av| 欧美日韩国产mv在线观看视频| www.自偷自拍.com| 欧美人与善性xxx| 男女免费视频国产| 可以免费在线观看a视频的电影网站 | 国产成人av激情在线播放| 亚洲欧美精品综合一区二区三区| 精品国产一区二区三区四区第35| 黑丝袜美女国产一区| 日韩伦理黄色片| 91老司机精品| 国产精品久久久久久精品电影小说| 国产乱人偷精品视频| 看十八女毛片水多多多| 国产熟女午夜一区二区三区| 搡老乐熟女国产| 777久久人妻少妇嫩草av网站| 日韩视频在线欧美| 美女高潮到喷水免费观看| 又大又黄又爽视频免费| 天堂8中文在线网| 国产成人欧美| 欧美人与善性xxx| 欧美日韩成人在线一区二区| 国产一区亚洲一区在线观看| 亚洲国产欧美网| 日日啪夜夜爽| 天天添夜夜摸| 中国三级夫妇交换| 咕卡用的链子| 久久久久久人妻| 五月开心婷婷网| 99香蕉大伊视频| 少妇猛男粗大的猛烈进出视频| 欧美日韩亚洲高清精品| 两个人免费观看高清视频| 日韩av不卡免费在线播放| 国产精品一区二区在线不卡| 水蜜桃什么品种好| 日韩欧美一区视频在线观看| 纵有疾风起免费观看全集完整版| 亚洲一级一片aⅴ在线观看| 夜夜骑夜夜射夜夜干| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲av日韩在线播放| 精品久久久久久电影网| 一二三四中文在线观看免费高清| 热re99久久精品国产66热6| 国产午夜精品一二区理论片| 日韩人妻精品一区2区三区| 国产精品一区二区在线不卡| 一级黄片播放器| 午夜福利乱码中文字幕| 国产女主播在线喷水免费视频网站| 777米奇影视久久| 久久 成人 亚洲| 纯流量卡能插随身wifi吗| 美女高潮到喷水免费观看| 视频区图区小说| 我要看黄色一级片免费的| 纯流量卡能插随身wifi吗| 啦啦啦 在线观看视频| 日韩av不卡免费在线播放| 日本猛色少妇xxxxx猛交久久| 午夜激情av网站| 国产又色又爽无遮挡免| 亚洲av国产av综合av卡| 亚洲欧洲精品一区二区精品久久久 | 久久午夜综合久久蜜桃| 一边摸一边做爽爽视频免费| 国产毛片在线视频| 99香蕉大伊视频| 咕卡用的链子| 涩涩av久久男人的天堂| 久久久久久久久久久免费av| 日本一区二区免费在线视频| 啦啦啦在线免费观看视频4| 久久久久久久大尺度免费视频| 捣出白浆h1v1| 欧美日韩成人在线一区二区| 日韩成人av中文字幕在线观看| 亚洲专区中文字幕在线 | 丰满乱子伦码专区| 免费黄色在线免费观看| 欧美激情 高清一区二区三区| 亚洲人成电影观看| 青春草亚洲视频在线观看| 亚洲成人一二三区av| 久久久久久久久久久免费av| 最近最新中文字幕免费大全7| 最近2019中文字幕mv第一页| 蜜桃在线观看..| 日韩伦理黄色片| 一本久久精品| 国产精品国产av在线观看| av在线老鸭窝| 免费观看av网站的网址| 大片电影免费在线观看免费| 亚洲精品成人av观看孕妇| 亚洲成av片中文字幕在线观看| 观看av在线不卡| 大片免费播放器 马上看| 国产精品久久久av美女十八| 亚洲精品视频女| 久久99热这里只频精品6学生| 精品亚洲成a人片在线观看| 满18在线观看网站| 久久ye,这里只有精品| 飞空精品影院首页| 51午夜福利影视在线观看| 黑人欧美特级aaaaaa片| 亚洲美女搞黄在线观看| 国产免费福利视频在线观看| 成人18禁高潮啪啪吃奶动态图| 男人舔女人的私密视频| 交换朋友夫妻互换小说| 高清不卡的av网站| 搡老岳熟女国产| 一级片免费观看大全| 啦啦啦中文免费视频观看日本| av在线老鸭窝| 欧美日韩成人在线一区二区| 热re99久久国产66热| 精品人妻在线不人妻| 波多野结衣一区麻豆| 亚洲综合精品二区| 久久天堂一区二区三区四区| 又大又黄又爽视频免费| 人妻人人澡人人爽人人| 久久久精品免费免费高清| 中文字幕人妻熟女乱码| 日本欧美国产在线视频| 国产又色又爽无遮挡免| 女人精品久久久久毛片| 精品少妇一区二区三区视频日本电影 | 亚洲少妇的诱惑av| 母亲3免费完整高清在线观看| 国产视频首页在线观看| 婷婷色av中文字幕| 免费女性裸体啪啪无遮挡网站| 国产精品一区二区在线不卡| 亚洲av综合色区一区| 亚洲第一区二区三区不卡| 久久人人爽av亚洲精品天堂| 新久久久久国产一级毛片| 日韩av不卡免费在线播放| 亚洲色图综合在线观看| 亚洲第一av免费看| 亚洲一区二区三区欧美精品| 在线观看免费高清a一片| 人妻 亚洲 视频| 哪个播放器可以免费观看大片| 欧美人与性动交α欧美软件| 亚洲,欧美精品.| 18禁裸乳无遮挡动漫免费视频| 国产精品一区二区在线不卡| 9热在线视频观看99| 高清视频免费观看一区二区| 女人精品久久久久毛片| 亚洲欧美激情在线| 大陆偷拍与自拍| 中文字幕最新亚洲高清| 97在线人人人人妻| 亚洲人成电影观看| 精品国产国语对白av| 80岁老熟妇乱子伦牲交| 视频区图区小说| 久久久久国产精品人妻一区二区| 90打野战视频偷拍视频| 国产亚洲欧美精品永久| 如何舔出高潮| 成人毛片60女人毛片免费| 最近中文字幕高清免费大全6| 日韩 欧美 亚洲 中文字幕| 美女主播在线视频| 午夜激情av网站| 看十八女毛片水多多多| 免费av中文字幕在线| 在线亚洲精品国产二区图片欧美| 天天躁夜夜躁狠狠久久av| 99久久综合免费| 1024香蕉在线观看| 爱豆传媒免费全集在线观看| 热re99久久精品国产66热6| 男女之事视频高清在线观看 | 视频在线观看一区二区三区| 9191精品国产免费久久| 熟女av电影| 亚洲美女视频黄频| 国产片特级美女逼逼视频| 国产日韩欧美亚洲二区| 人人妻人人澡人人爽人人夜夜| 久久性视频一级片| av网站在线播放免费| 夫妻午夜视频| 王馨瑶露胸无遮挡在线观看| 天堂俺去俺来也www色官网| 色94色欧美一区二区| 成人18禁高潮啪啪吃奶动态图| 少妇精品久久久久久久| 日本av免费视频播放| 老司机深夜福利视频在线观看 | 日韩成人av中文字幕在线观看| 久久狼人影院| 亚洲国产av新网站| 婷婷成人精品国产| 久久免费观看电影| 一二三四中文在线观看免费高清| 久久久欧美国产精品| 成人三级做爰电影| 新久久久久国产一级毛片| 国产精品无大码| 最近2019中文字幕mv第一页| av.在线天堂| 中文字幕高清在线视频| 欧美黄色片欧美黄色片| www.精华液| 欧美精品高潮呻吟av久久| 亚洲av成人精品一二三区| 国产一级毛片在线| 丝袜人妻中文字幕| 99久国产av精品国产电影| 国产成人精品在线电影| 国产av国产精品国产| 亚洲男人天堂网一区| 亚洲综合色网址| 精品亚洲成a人片在线观看| 久久久精品94久久精品| 91成人精品电影| 国产一区二区在线观看av| 国产成人欧美| 国产精品久久久久久人妻精品电影 | 99精品久久久久人妻精品| 97精品久久久久久久久久精品| 亚洲七黄色美女视频| 咕卡用的链子| 久久久久久久久久久免费av| 欧美日韩视频高清一区二区三区二| 在线观看免费视频网站a站| 国产精品亚洲av一区麻豆 | 青草久久国产| 韩国av在线不卡| 亚洲av中文av极速乱| a级毛片黄视频| 亚洲欧美一区二区三区黑人| 亚洲婷婷狠狠爱综合网| 亚洲国产日韩一区二区| 久久午夜综合久久蜜桃| 日韩欧美一区视频在线观看| 午夜激情久久久久久久| 国产又爽黄色视频| 国产一区二区在线观看av| 三上悠亚av全集在线观看| 亚洲色图 男人天堂 中文字幕| 亚洲欧美激情在线| 久久久亚洲精品成人影院| 热99国产精品久久久久久7| 国产熟女欧美一区二区| 丰满少妇做爰视频| 夫妻性生交免费视频一级片| 一二三四中文在线观看免费高清| 捣出白浆h1v1| 人人妻人人添人人爽欧美一区卜| 另类亚洲欧美激情| 激情五月婷婷亚洲| 日韩欧美一区视频在线观看| 大片电影免费在线观看免费| 精品一品国产午夜福利视频| 一级片'在线观看视频| av在线老鸭窝| 国产97色在线日韩免费| 黑人巨大精品欧美一区二区蜜桃| 一区在线观看完整版| 麻豆精品久久久久久蜜桃| 男女边摸边吃奶| 欧美人与性动交α欧美软件| 午夜福利在线免费观看网站| av国产精品久久久久影院| 欧美老熟妇乱子伦牲交| 黑人猛操日本美女一级片| h视频一区二区三区| 久久久久国产一级毛片高清牌| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲一级一片aⅴ在线观看| 91成人精品电影| 国产精品亚洲av一区麻豆 | 日韩人妻精品一区2区三区| 国产片特级美女逼逼视频| 久久久久久久久久久久大奶| 97精品久久久久久久久久精品| 久久免费观看电影| 精品少妇一区二区三区视频日本电影 | 国产成人精品福利久久| 欧美日韩视频高清一区二区三区二| 一本一本久久a久久精品综合妖精| 国产成人欧美在线观看 | 日本91视频免费播放| 日韩制服骚丝袜av| 丁香六月天网| 少妇的丰满在线观看| 免费黄网站久久成人精品| 精品国产乱码久久久久久小说| 欧美日韩亚洲高清精品| 看非洲黑人一级黄片| 日韩制服丝袜自拍偷拍| 成人国产麻豆网| 国产爽快片一区二区三区| 视频区图区小说| 免费黄网站久久成人精品| av片东京热男人的天堂| 天天躁狠狠躁夜夜躁狠狠躁| 中文字幕色久视频| 日韩精品免费视频一区二区三区| 在线观看三级黄色| 少妇被粗大的猛进出69影院| 成人18禁高潮啪啪吃奶动态图| 中文字幕人妻丝袜一区二区 | 宅男免费午夜| 人人妻人人添人人爽欧美一区卜| 国产精品二区激情视频| 一区二区三区四区激情视频| 性高湖久久久久久久久免费观看| 亚洲国产欧美网| 亚洲第一区二区三区不卡| 下体分泌物呈黄色| 国产一区二区三区av在线|