活代码LINQ——06

一、模块代码

' Fig. 9.4: LINQWithArrayOfObjects.vb
' LINQ to Objects using an array of Employee objects.
Module LINQWithArrayOfObjects
   Sub Main()
      ' initialize array of employees
      Dim employees As Employee() = { _
         New Employee("Jason", "Red", 5000D), _
         New Employee("Ashley", "Green", 7600D), _
         New Employee("Matthew", "Indigo", 3587.5D), _
         New Employee("James", "Indigo", 4700.77D), _
         New Employee("Luke", "Indigo", 6200D), _
         New Employee("Jason", "Blue", 3200D), _
         New Employee("Wendy", "Brown", 4236.4D)} ' end initializer list

      Display(employees, "Original array") ' display all employees

        ' filter a range of salaries using AndAlso in a LINQ query
        Dim between4K6K = _
           From e In employees _
           Where e.MonthlySalary >= 4000D AndAlso e.MonthlySalary <= 6000D _
           Select e

        ' display employees making between 4000 and 6000 per month
        Display(between4K6K, String.Format( _
           "Employees earning in the range {0:C}-{1:C} per month", _
           4000, 6000))

        ' order the employees by last name, then first name with LINQ
        Dim nameSorted = _
           From e In employees _
           Order By e.LastName, e.FirstName _
           Select e

        Console.WriteLine("First employee when sorted by name:") ' header

        ' attempt to display the first result of the above LINQ query
        If nameSorted.Count() = 0 Then
            Console.WriteLine("not found" & vbNewLine)
        Else
            Console.WriteLine(nameSorted.First().ToString() & vbNewLine)
        End If

        ' use LINQ's Distinct clause to select unique last names
        Dim lastNames = _
           From e In employees _
           Select e.LastName _
           Distinct

        ' display unique last names
        Display(lastNames, "Unique employee last names")

        ' use LINQ to select first and last names
        Dim names = _
           From e In employees _
           Select e.FirstName, Last = e.LastName

        Display(names, "Names only") ' display full names
    End Sub ' Main

    ' display a sequence of any type, each on a separate line
    Sub Display(Of T)(ByVal results As IEnumerable(Of T), ByVal header As String)

        Console.WriteLine("{0}:", header) ' display header

        ' display each element, separated by spaces
        For Each element As T In results
            Console.WriteLine(element)
        Next

        Console.WriteLine() ' add end of line
    End Sub ' Display

End Module ' LINQWithArrayOfObjects

' **************************************************************************
' * (C) Copyright 1992-2009 by Deitel & Associates, Inc. and               *
' * Pearson Education, Inc. All Rights Reserved.                           *
' *                                                                        *
' * DISCLAIMER: The authors and publisher of this book have used their     *
' * best efforts in preparing the book. These efforts include the          *
' * development, research, and testing of the theories and programs        *
' * to determine their effectiveness. The authors and publisher make       *
' * no warranty of any kind, expressed or implied, with regard to these    *
' * programs or to the documentation contained in these books. The authors *
' * and publisher shall not be liable in any event for incidental or       *
' * consequential damages in connection with, or arising out of, the       *
' * furnishing, performance, or use of these programs.                     *
' **************************************************************************

  二、类代码

' Fig. 9.3: Employee.vb
' Employee class with FirstName, LastName and MonthlySalary properties.
Public Class Employee
   Private firstNameValue As String ' first name of employee
   Private lastNameValue As String ' last name of employee
   Private monthlySalaryValue As Decimal ' monthly salary of employee

   ' constructor initializes first name, last name and monthly salary
    Public Sub New(ByVal first As String, ByVal last As String, ByVal salary As Decimal)
        FirstName = first
        LastName = last
        MonthlySalary = salary
    End Sub ' New

   ' property that gets and sets the employee's first name
   Public Property FirstName() As String
      Get
         Return firstNameValue
      End Get

      Set(ByVal value As String)
         firstNameValue = value
      End Set
   End Property ' FirstName

   ' property that gets and sets the employee's last name
   Public Property LastName() As String
      Get
         Return lastNameValue
      End Get

      Set(ByVal value As String)
         lastNameValue = value
      End Set
   End Property ' LastName

   ' property that gets and sets the employee's monthly salary
   Public Property MonthlySalary() As Decimal
      Get
         Return monthlySalaryValue
      End Get

      Set(ByVal value As Decimal)
            If value >= 0 Then ' if salary is non-negative(非负)
                monthlySalaryValue = value
            End If
      End Set
   End Property ' MonthlySalary

    ' return a String containing the employee's information
    ' left justify each field, and give large enough spaces so  all the columns line up.
    Public Overrides Function ToString() As String
        Return String.Format("{0,-10} {1,-10} {2,10:C}", FirstName, LastName, MonthlySalary)
    End Function ' ToString
End Class ' Employee

' **************************************************************************
' * (C) Copyright 1992-2009 by Deitel & Associates, Inc. and               *
' * Pearson Education, Inc. All Rights Reserved.                           *
' *                                                                        *
' * DISCLAIMER: The authors and publisher of this book have used their     *
' * best efforts in preparing the book. These efforts include the          *
' * development, research, and testing of the theories and programs        *
' * to determine their effectiveness. The authors and publisher make       *
' * no warranty of any kind, expressed or implied, with regard to these    *
' * programs or to the documentation contained in these books. The authors *
' * and publisher shall not be liable in any event for incidental or       *
' * consequential damages in connection with, or arising out of, the       *
' * furnishing, performance, or use of these programs.                     *
' **************************************************************************

三、运行结果

来源:Visual Basic 2008 how to program  

转载于:https://www.cnblogs.com/xiehaofeng/p/10062742.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值