LINQ 全名 Language-Integrated Query, 於 C# 3.0 引入, 让程序设计师能使用一致性的语法来查询不同的资料来源, 如查询阵列、集合、DataSet、XML、SQL Server 资料库等等
语法
var 变数 = from 范围变数 in 集合 orderby 栏位名称 where 条件 select 范围变数[.栏位]
一些例子
using System;
using System.Collections.Generic;
using System.Linq;
string sentence = "I love cats";
string[] catNames = {"Lucky", "Bella", "Luna", "Oreo", "Simba", "Toby", "Loki", "Oscar"};
int[] numbers = {5, 6, 3, 2, 1, 7, 8, 234, 54, 14, 653, 3, 4, 5, 6, 7};
var getTheNumbers = from number in numbers
where number < 5
orderby number descending
select number;
Console.WriteLine(string.Join(",", getTheNumbers));
List<int> newNumbers = new List<int>();
foreach (var number in numbers)
{
if (number < 5)
{
newNumbers.Add(number);
}
}
Console.WriteLine(string.Join(",", newNumbers));
var catsWithA = from cat in catNames
where cat.Contains("a") && (cat.Length < 5)
select cat;
Console.WriteLine(string.Join(",", catsWithA));
internal class Person
{
private string name;
private int height;
private int weight;
private Gender gender;
public string Name {get; set;}
public int Height {get; set;}
public int Weight {get; set;}
public Gender Gender {get; set;}
public Person(string name, int height, int weight, Gender gender)
{
this.Name = name;
this.Height = height;
this.Weight = weight;
this.Gender = gender;
}
}
internal enum Gender
{
Male,
Female
}
List<Person> people = new List<Person>()
{
new Person("Tod", 180, 70, Gender.Female),
new Person("Kyle", 164, 77, Gender.Male),
new Person("Anna", 164, 77, Gender.Male)
};
var fourCharPeople = from p in people
where (p.Name.Length == 4)
orderby p.Weight
select p;
foreach (var item in fourCharPeople)
{
Console.WriteLine($"Name: {item.Name}, Weight: {item.Weight}");
}
从 c# 3.0 开始引入, 在方法范围内, 可以使用关键字 var 宣告变数, 这是有隐含的 "type", 也是强型别, 但是由编译器来判断型别, 例
// 以下宣告功能一样
var i = 100; // Implicitly typed
int i = 100; // Explicitly typed
>>: 【从实作学习ASP.NET Core】Day09 | 後台 | 图片上传与预览
调整 目前虽然可以送交易,但还没有解析回覆的结果,趁连假第一天来处理一下!! 解析订单送出後回覆之资...
到现在为止,您的设计应该涵盖大多数用户将遵循的对话流。 现在是时候关注对话流的长尾问题了。 想想您...
快忘记自己传教过哪些K-pop了.... Two Sum II 题目连结:https://leet...
MySQL 学习 由於Icebear在学习创建资料库时,FORGIEN KEY 後面都会有ON DE...
云端系列最後一篇~ 近年来Microsoft非常致力推广的Azure。 Microsoft真的是不断...