在C#中,LINQ(Language Integrated Query)提供了一种声明式的编程方式,可以用来对数据进行查询、筛选、排序等操作。当你想要拼接(即连接)两个序列时,LINQ提供了几种方法,最常用的是Concat和Union。
Concat方法用于将两个序列拼接成一个序列,保留原始序列中的所有元素,包括重复元素。如果第一个序列中有重复的元素,或者第二个序列中有元素与第一个序列中的元素相同,这些元素在结果序列中都会被保留。
基础类
C#class Hero
{
public int HeroNo { get; set; }
public string Name { get; set; }
public string Country { get; set; }
public int Age { get; set; }
public Hero(string name, int age, int heroNo, string country)
{
Name = name;
Age = age;
HeroNo = heroNo;
Country = country;
}
}
class Army
{
public int HeroNo { get; set; }
public int ArmyNo { get; set; }
public int Qty { get; set; }
public string TeamLeader { get; set; }
}
在C#中,LINQ(Language Integrated Query)提供了强大的查询能力,允许我们以声明式的方式处理和查询数据集合。在处理类型多样化的集合时,OfType<T>() 方法和使用 case 语句在查询中进行类型过滤或转换变得十分有用。这两种方法可以帮助我们在LINQ查询中处理不同类型的元素。
| Cast | 执行一个集合的元素的转换到一个指定类型 | 使用显式类型范围变量。例如:从str在字符串String中 |
|---|---|---|
| OfType | 在它们的基础上过滤值,这取决于它们的能力,以被转换为特定类型 |
C#private void btnSearch_Click(object sender, EventArgs e)
{
ArrayList al = new ArrayList();
al.Add(1);
al.Add(2);
al.Add(3);
IEnumerable<int> ret = al.Cast<int>();//非泛型转泛型
foreach (var item in ret)
{
lstMain.Items.Add(item);
}
}
在C#中使用LINQ(Language Integrated Query)进行数据排序是一种非常灵活和强大的方式。LINQ提供了多种排序方法,允许你对数据集合进行排序。最常用的排序方法是OrderBy、OrderByDescending、ThenBy和ThenByDescending。
| 操作符 | 描述 | C#查询表达式语法 |
|---|---|---|
| OrderBy | 按升序操作排序值 | orderby |
| OrderByDescending | 降序排序操作值 | orderby ... descending |
| ThenBy | 执行二次排序按升序 | orderby …, … |
| ThenByDescending | 执行二次排序以降序 | orderby …, … descending |
C#中的LINQ(Language Integrated Query)提供了一种声明式的编程模式,用于操作数据。它允许你用类似SQL的方式查询和操作数据,不论这些数据来自于数据库、XML文档还是内存中的集合。Join操作是LINQ中的一个重要特性,它允许你将两个数据源中的数据基于共同的键值对进行匹配并合并。
| 运算符 | 描述 | C#查询表达式语法 |
|---|---|---|
| Join | 运算符连接两个序列匹配键的基础 | join … in … on … equals … |