分享

VB.NET的lambda运算符和C#的lambda运算符=>之比较

 孙无者 2020-06-03

VB.NET也是有运算符的,不过不是=>,而是用Function()代替的。比如求一个字符串数组中最短字符串的长度,代码如下:

Dim words As String() = {'cherry', 'apple', 'blueberry'}

Dim shortestWordLength As Integer = words.Min(Function(mm) mm.Length)

Console.WriteLine(shortestWordLength)

对应的C#代码如下:

string[] words = { 'cherry', 'apple', 'blueberry' };

int shortestWordLength = words.Min(w => w.Length);

Console.WriteLine(shortestWordLength);

如果是求一个字符串数组中长度最短字符串,VB.NET代码如下:

Dim words As String() = {'cherry', 'apple', 'blueberry'}

Dim shortestWord As String = words.First(Function(s) s.Length = words.Min(Function(w) w.Length))

Console.WriteLine(shortestWord)


求一个字符串数组中长度最短字符串,C#代码如下:

string[] words = { 'cherry', 'apple', 'blueberry' };

string shortestWord = words.FirstOrDefault(s => s.Length == words.Min(w => w.Length));

Console.WriteLine(shortestWord);

以上代码VS2013验证通过。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多