|
LINQ(Language-Integrated Query)是C#语言中的一个强大的查询技术,它提供了一种统一的查询语法,可以用于查询和操作各种数据源,包括集合、数据库、XML等。下面详细描述了LINQ的20个功能点,并提供了相应的源代码。
- int[] numbers = { 1, 2, 3, 4, 5 };
- var query = from num in numbers
- select num;
- foreach (var num in query)
- {
- Console.WriteLine(num);
- }
复制代码- int[] numbers = { 1, 2, 3, 4, 5 };
- var query = from num in numbers
- where num % 2 == 0
- select num;
- foreach (var num in query)
- {
- Console.WriteLine(num);
- }
复制代码- int[] numbers = { 5, 3, 1, 4, 2 };
- var query = from num in numbers
- orderby num
- select num;
- foreach (var num in query)
- {
- Console.WriteLine(num);
- }
复制代码- string[] names = { "Alice", "Bob", "Charlie", "David", "Eve" };
- var query = from name in names
- group name by name[0];
- foreach (var group in query)
- {
- Console.WriteLine(group.Key);
- foreach (var name in group)
- {
- Console.WriteLine(name);
- }
- }
复制代码- string[] names = { "Alice", "Bob", "Charlie", "David", "Eve" };
- var query = from name in names
- select name.Length;
- foreach (var length in query)
- {
- Console.WriteLine(length);
- }
复制代码- string[] names1 = { "Alice", "Bob", "Charlie" };
- string[] names2 = { "David", "Eve", "Frank" };
- var query = from name1 in names1
- join name2 in names2 on name1[0] equals name2[0]
- select new { Name1 = name1, Name2 = name2 };
- foreach (var pair in query)
- {
- Console.WriteLine($"{pair.Name1}, {pair.Name2}");
- }
复制代码- using (var dbContext = new MyDbContext())
- {
- var query = from user in dbContext.Users
- where user.Age > 18
- select user;
- foreach (var user in query)
- {
- Console.WriteLine(user.Name);
- }
- }
复制代码- XDocument doc = XDocument.Load("data.xml");
- var query = from element in doc.Descendants("book")
- where (int)element.Element("price") > 10
- select element.Element("title").Value;
- foreach (var title in query)
- {
- Console.WriteLine(title);
- }
复制代码- string json = File.ReadAllText("data.json");
- var data = JsonConvert.DeserializeObject<List<Person>>(json);
- var query = from person in data
- where person.Age > 18
- select person.Name;
- foreach (var name in query)
- {
- Console.WriteLine(name);
- }
复制代码- int[] numbers = { 1, 2, 3, 4, 5 };
- var query = from num in numbers
- where num % 2 == 0
- select num * 2;
- foreach (var num in query)
- {
- Console.WriteLine(num);
- }
复制代码- string[] names = { "Alice", "Bob", "Charlie", "David", "Eve" };
- var query = from name in names
- select new { Name = name, Length = name.Length };
- foreach (var item in query)
- {
- Console.WriteLine($"{item.Name}, {item.Length}");
- }
复制代码- public class Person
- {
- public string Name { get; set; }
- public int Age { get; set; }
- }
- List<Person> people = new List<Person>
- {
- new Person { Name = "Alice", Age = 20 },
- new Person { Name = "Bob", Age = 25 },
- new Person { Name = "Charlie", Age = 30 }
- };
- var query = from person in people
- where person.Age > 25
- select person.Name;
- foreach (var name in query)
- {
- Console.WriteLine(name);
- }
复制代码- int[] numbers = { 1, 2, 3, 4, 5 };
- var query = from num in numbers
- where num % 2 == 0
- select num * 2;
- List<int> result = query.ToList();
- foreach (var num in result)
- {
- Console.WriteLine(num);
- }
复制代码- int pageNumber = 2;
- int pageSize = 10;
- var query = from product in dbContext.Products
- orderby product.Name
- select product;
- var page = query.Skip((pageNumber - 1) * pageSize).Take(pageSize);
- foreach (var product in page)
- {
- Console.WriteLine(product.Name);
- }
复制代码- int[] numbers = { 1, 2, 3, 4, 5 };
- int sum = numbers.Sum();
- int max = numbers.Max();
- int min = numbers.Min();
- double average = numbers.Average();
- Console.WriteLine($"Sum: {sum}");
- Console.WriteLine($"Max: {max}");
- Console.WriteLine($"Min: {min}");
- Console.WriteLine($"Average: {average}");
复制代码- int[] numbers1 = { 1, 2, 3, 4, 5 };
- int[] numbers2 = { 4, 5, 6, 7, 8 };
- var query = numbers1.Intersect(numbers2);
- foreach (var num in query)
- {
- Console.WriteLine(num);
- }
复制代码- int[] numbers1 = { 1, 2, 3, 4, 5 };
- int[] numbers2 = { 4, 5, 6, 7, 8 };
- var query = numbers1.Union(numbers2);
- foreach (var num in query)
- {
- Console.WriteLine(num);
- }
复制代码- int[] numbers1 = { 1, 2, 3, 4, 5 };
- int[] numbers2 = { 4, 5, 6, 7, 8 };
- var query = numbers1.Except(numbers2);
- foreach (var num in query)
- {
- Console.WriteLine(num);
- }
复制代码- var query = from order in dbContext.Orders
- join customer in dbContext.Customers on order.CustomerId equals customer.Id
- select new { OrderId = order.Id, CustomerName = customer.Name };
- foreach (var result in query)
- {
- Console.WriteLine($"{result.OrderId}, {result.CustomerName}");
- }
复制代码- int[] numbers = { 1, 2, 3, 4, 5 };
- var query = numbers.Reverse();
- foreach (var num in query)
- {
- Console.WriteLine(num);
- }
复制代码 以上是20个常用的LINQ功能点的示例代码,它们展示了LINQ在C#中的强大查询能力和灵活性。通过使用LINQ,开发人员可以更加方便地进行各种数据操作和查询,提高代码的可读性和开发效率。
来源:https://www.cnblogs.com/hanbing81868164/archive/2023/11/25/17855161.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|