ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LINQ 于 VB.NET

2019-09-06 13:01:29  阅读:182  来源: 互联网

标签:VB Sub Title LINQ New NET Name


有一些读者问起,[极意之道-.NET Framework 3.5 数据库开发圣典]是否会有VB.NET版本,

这点要视出版社而定,一般来说,如果该书一刷尚未卖


   有一些读者问起,[极意之道-.NET Framework 3.5 数据库开发圣典]是否会有VB.NET版本,

这点要视出版社而定,一般来说,如果该书一刷尚未卖完,出版社不太可能会投入资金来出版

同一主题,但不同语言的书,所以会不会有VB.NET 版本,得看销量而定.

anywhere,我其实一直都有个计划,就是将此书中的范例改写为VB.NET版本,如果VB.NET版能

顺利出版的话,那范例可以放在该书中.

如果出版社在一刷卖完后,仍不愿让我出版VB.NET版,那么届时我可以将范例放在BLOG中,供

买了此书之VB.NET读者下载.

其实,就LINQ语法上来说,VB.NET与C#差异并不大,请见以下程序即可明了

Imports System.Linq
 
Public Class Program
 
    Shared Sub Main()
        TestJoin()
    End Sub
 
    'let 操作符
    Shared Sub UseLet()
        Dim list As String() = {"Code6421 Huang", "Tom Do", "Cathy Chang"}
        Dim result = From s1 In list _
                     Let words = s1.Split(" ") _
                     From word In words _
                     Let w = word.ToLower() _
                     Where w(0) = "c" _
                     Select word
        For Each item In result
            Console.WriteLine(item)
        Next
        Console.ReadLine()
    End Sub
 
 
    'lambda expression for vb.net
    Shared Sub TestLastWithCondition()
        Dim numbers() = {8, 9, 10, 7}
        Console.WriteLine(numbers.Last(Function(x) x > 7))
        Console.ReadLine()
 
    End Sub
 
    '匿名类型
    'join运算式
    Shared Sub TestJoin()
        Dim p1() = {New With {.Name = "code6421", .Address = "Taipai"}, _
                    New With {.Name = "tom", .Address = "Taipai"}, _
                    New With {.Name = "jeffray", .Address = "NY"}}
 
        Dim p2() = {New With {.Name = "code6421", .Title = "Manager"}, _
                    New With {.Name = "tom", .Title = "Director"}, _
                    New With {.Name = "jeffray", .Title = "Programmer"}}
 
        Dim p3() = {New With {.Name = "code6421", .Hand = "Right"}, _
                    New With {.Name = "tom", .Hand = "Right"}, _
                    New With {.Name = "jeffray", .Hand = "Left"}}
        Dim p4 = From s In p1 _
                 Join s1 In p2 On s.Name Equals s1.Name _
                 Join s2 In p3 On s.Name Equals s2.Name _
                 Select New With {.Name = s.Name, .Address = s.Address, .Title = s1.Title, .Hand = s2.Hand}
        For Each item In p4
            Console.WriteLine("Name {0}, Address {1}, Title {2}, Hand {3}", item.Name, item.Address, item.Title, item.Hand)
        Next
        Console.ReadLine()
 
    End Sub
 
 
End Class
 


差别较大的是,TestLastWithCondition进程中的lambda写法,及TestJoin中的Select new(匿名类型)之写法.

原文:大专栏  LINQ 于 VB.NET



标签:VB,Sub,Title,LINQ,New,NET,Name
来源: https://www.cnblogs.com/petewell/p/11474212.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有