Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LINQ to XML LINQ学习第一篇

LINQ to XML LINQ学习第一篇

作者头像
hbbliyong
发布于 2018-03-05 08:27:58
发布于 2018-03-05 08:27:58
1.7K02
代码可运行
举报
文章被收录于专栏:hbbliyonghbbliyong
运行总次数:2
代码可运行

1、LINQ to XML类

以下的代码演示了如何使用LINQ to XML来快速创建一个xml:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void CreateDocument()
{
    string path = @"d:\website";
    XDocument xdoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
                                   new XElement("Root", "root"));
    xdoc.Save(path);
}

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>root</Root>

2、XElement类

XElement 类是 LINQ to XML 中的基础类之一。 它表示一个 XML 元素。 可以使用该类创建元素;更改元素内容;添加、更改或删除子元素;向元素中添加属性;或以文本格式序列化元素内容。 还可以与 System.Xml 中的其他类(例如 XmlReader、XmlWriter 和 XslCompiledTransform)进行互操作。

使用LINQ to XML创建xml文档有很多种方式,具体使用哪种方法要根据实际需要。而创建xml文档最简单、最常见的方式是使用XElement类。以下的代码演示了如何使用XElement类创建一个xml文档:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void CreateCategories()
{
    string path = @"d:\website";
    XElement root = new XElement("Categories",
        new XElement("Category",
            new XElement("CategoryID", Guid.NewGuid()),
            new XElement("CategoryName", "Beverages")
            ),
        new XElement("Category",
            new XElement("CategoryID", Guid.NewGuid()),
            new XElement("CategoryName", "Condiments")
            ),
        new XElement("Category",
            new XElement("CategoryID", Guid.NewGuid()),
            new XElement("CategoryName", "Confections")
            )
       );
    root.Save(path);
}

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<Categories>
  <Category>
    <CategoryID>57485174-46fc-4e8c-8d98-d25b53d504a1</CategoryID>
    <CategoryName>Beverages</CategoryName>
  </Category>
  <Category>
    <CategoryID>1474dde1-8014-48f7-b093-b47ca5d5b770</CategoryID>
    <CategoryName>Condiments</CategoryName>
  </Category>
  <Category>
    <CategoryID>364224e0-e002-4939-90fc-0fd93e0cf35b</CategoryID>
    <CategoryName>Confections</CategoryName>
  </Category>
</Categories>

XElement类包含了许多方法,这些方法使得处理xml变得轻而易举。有关这些方法请参照MSDN。

其中,Save、CreateReader、ToString和WriteTo方法是比较常用的三个方法:

3、XAttribute类

XAttribute类用来处理元素的属性,属性是与元素相关联的“名称-值”对,每个元素中不能有名称重复的属性。使用XAttribute类与使用XElement类的操作十分相似,下面的示例演示了如何在创建xml树时为其添加一个属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static XElement CreateCategoriesByXAttribute()
{
    XElement root = new XElement("Categories",
        new XElement("Category",
            new XAttribute("CategoryID", Guid.NewGuid()),
            new XElement("CategoryName", "Beverages")
            ),
        new XElement("Category",
            new XAttribute("CategoryID", Guid.NewGuid()),
            new XElement("CategoryName", "Condiments")
            ),
        new XElement("Category",
            new XAttribute("CategoryID", Guid.NewGuid()),
            new XElement("CategoryName", "Confections")
            )
       );
    root.Save(path);
    return root;
}

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<Categories>
  <Category CategoryID="a6d5ef04-3f83-4e00-aeaf-52444add7570">
    <CategoryName>Beverages</CategoryName>
  </Category>
  <Category CategoryID="67a168d5-6b22-4d82-9bd4-67bec88c2ccb">
    <CategoryName>Condiments</CategoryName>
  </Category>
  <Category CategoryID="17398f4e-5ef1-48da-8a72-1c54371b8e76">
    <CategoryName>Confections</CategoryName>
  </Category>
</Categories>

XAttribute类的方法比较少,常用的三个是:

以下的示例使用Remove来删除第一个元素的CategoryID属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void RemoveAttribute()
{
    XElement xdoc = CreateCategoriesByXAttribute();
    XAttribute xattr = xdoc.Element("Category").Attribute("CategoryID");
    xattr.Remove();
    xdoc.Save(path);
}

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<Categories>
  <Category>
    <CategoryName>Beverages</CategoryName>
  </Category>
  <Category CategoryID="5c311c1e-ede5-41e5-93f7-5d8b1d7a0346">
    <CategoryName>Condiments</CategoryName>
  </Category>
  <Category CategoryID="bfde8db5-df84-4415-b297-cd04d8db9712">
    <CategoryName>Confections</CategoryName>
  </Category>
</Categories>

作为尝试,试一试以下删除属性的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void RemoveAttributeByDoc()
{
    XElement xdoc = CreateCategoriesByXAttribute();
    XAttribute xattr = xdoc.Attribute("CategoryID");
    xattr.Remove();
    xdoc.Save(path);
}

运行该示例将会抛出一个空引用异常,因为元素Categories没有一个叫做CategoryID的属性。

4、XDocument类

XDocument类提供了处理xml文档的方法,包括声明、注释和处理指令。一个XDocument对象可以包含以下内容:

下面的示例创建了一个简单的xml文档,它包含几个元素和一个属性,以及一个处理指令和一些注释:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void CreateXDocument()
      {
          XDocument xdoc = new XDocument(
                  new XProcessingInstruction("xml-stylesheet", "title='EmpInfo'"),
                  new XComment("some comments"),
                  new XElement("Root",
                          new XElement("Employees",
                                  new XElement("Employee",
                                          new XAttribute("id", "1"),
                                          new XElement("Name", "Scott Klein"),
                                          new XElement("Title", "Geek"),
                                          new XElement("HireDate", "02/05/2007"),
                                          new XElement("Gender", "M")
                                      )
                              )
                      ),
                  new XComment("more comments")
              );
          xdoc.Save(path);
      

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet title='EmpInfo'?>
<!--some comments-->
<Root>
  <Employees>
    <Employee id="1">
      <Name>Scott Klein</Name>
      <Title>Geek</Title>
      <HireDate>02/05/2007</HireDate>
      <Gender>M</Gender>
    </Employee>
  </Employees>
</Root>
<!--more comments-->

XDocument类包含多个与XElement类相同的方法,具体内容可以参阅MSDN。需要注意的是,处理节点和元素的大部分功能都可以通过XElement获得,只有当绝对需要文档层次的处理能力,以及需要访问注释、处理指令和声明时,才有使用XDocument类的必要。

创建了xml文档后,可以使用NodesAfterSelf方法返回指定的XElement元素之后的所有同级元素。需要注意的是,此方法只包括返回集合中的同级元素,而不包括子代。此方法使用延迟执行。以下代码演示了这一过程:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void NodesAfterSelf()
{
    XElement root = new XElement("Categories",
        new XElement("Category",
                new XElement("CategoryID", Guid.NewGuid()),
                new XElement("CategoryName", "食品"),
                new XElement("Description", "可以吃的东西")
            )
        );
    foreach (var item in root.Element("Category").Element("CategoryID").NodesAfterSelf())
    {
        Console.WriteLine((item as XElement).Value);
    }
}

二、LINQ to XML编程概念

本节将介绍LINQ to XML编程的相关概念,例如如何加载xml、创建全新xml、操纵xml的信息以及遍历xml文档。

1、加载已有的xml

使用LINQ to XML加载xml可以从多种数据源获得,例如字符串、XmlReader、TextReader或文件。

下面的示例演示了如何从文件中加载xml:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void LoadFromFile()
{
    XElement root = XElement.Load(path);
    Console.WriteLine(root.ToString());
}

也可以使用Parse方法从一个字符串加载xml:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    public static void LoadFromString()
    {
        XElement root = XElement.Parse(@"
    <Categories>
      <Category>
        <CategoryID>1</CategoryID>
        <CategoryName>Beverages</CategoryName>
        <Description>Soft drinks, coffees, teas, beers, and ales</Description>
      </Category>
    </Categories>
");
        Console.WriteLine(root.ToString());
    }

2、保存xml

在前面的示例中曾多次调用XElement对象的Save方法来保存xml文档,在这里就不冗述了。

3、创建xml

在前面的示例中曾多次调用XElement对象的构造函数来创建xml文档,在这里就不冗述了。需要说明的是,在使用LINQ to XML创建xml文档时,会有代码缩进,这使代码的可读性大大加强。

4、遍历xml

使用LINQ to XML在xml树中遍历xml是相当简单的。只需要使用XElement和XAttribute类中所提供的方法。Elements和Element方法提供了定位到某个或某些元素的方式。下面的示例演示了如何遍历xml树,并获取指定元素的方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void Enum()
{
    XElement root = new XElement("Categories");
    using (NorthwindDataContext db = new NorthwindDataContext())
    {
        root.Add(
                db.Categories
                .Select
                (
                    c => new XElement
(
                        "Category"
, new XElement("CategoryName", c.CategoryName)
                    )
                )
            );
    }
    foreach (var item in root.Elements("Category"))
    {
        Console.WriteLine(item.Element("CategoryName").Value);
    }
}

上述代码运行的结果为:

是不是很简单呢?Nodes()、Elements()、Element(name)和Elements(name)方法为xml树的导航提供了基本功能。

5、操纵xml

LINQ to XML一个重要的特性是能够方便地修改xml树,如添加、删除、更新和复制xml文档的内容。

I.插入

使用XNode类的插入方法可以方便地向xml树添加内容:

在下面的示例中,使用AddAfterSelf方法向现有xml中添加一个新节点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void AddAfterSelf()
{
    XElement root = XElement.Parse(@"
        <Categories>
          <Category>
            <CategoryID>1</CategoryID>
            <CategoryName>Beverages</CategoryName>
            <Description>Soft drinks, coffees, teas, beers, and ales</Description>
          </Category>
        </Categories>
    ");
    XElement xele = root.Element("Category").Element("CategoryName");
    xele.AddAfterSelf(new XElement("AddDate", DateTime.Now));
    root.Save(path);
}

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<Categories>
  <Category>
    <CategoryID>1</CategoryID>
    <CategoryName>Beverages</CategoryName>
    <AddDate>2010-01-31T03:08:51.813736+08:00</AddDate>
    <Description>Soft drinks, coffees, teas, beers, and ales</Description>
  </Category>
</Categories>

当需要添加一个元素到指定节点之前时,可以使用AddBeforeSelf方法。

II.更新

在LINQ to XML中更新xml内容可以使用以下几种方法:

在下面的示例中使用了ReplaceWith与SetElementValue方法对xml进行了更新操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void Update()
{
    XElement root = XElement.Parse(@"
                                   <Categories>
                                      <Category>
                                        <CategoryID>1</CategoryID>
                                        <CategoryName>Beverages</CategoryName>
                                        <Description>Soft drinks, coffees, teas, beers, and ales</Description>
                                      </Category>
                                    </Categories>
                                  ");
    root.Element("Category").Element("CategoryID").ReplaceWith(new XElement("ID", "2"));
    root.Element("Category").SetElementValue("CategoryName", "test data");
    root.Save(path);
}

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<Categories>
  <Category>
    <ID>2</ID>
    <CategoryName>test data</CategoryName>
    <Description>Soft drinks, coffees, teas, beers, and ales</Description>
  </Category>
</Categories>

III.删除

可以使用Remove(XElement)与RemoveAll方法来删除xml。

在下面的示例中,使用了RemoveAll方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void Remove()
  {
      string path = @"d:\";
      XElement root = XElement.Parse(@"
                                  <Categories>
                                    <Category>
                                      <CategoryID>1</CategoryID>
                                      <CategoryName>Beverages</CategoryName>
                                      <Description>Soft drinks, coffees, teas, beers, and ales</Description>
                                    </Category>
                                  </Categories>
                                ");
      root.RemoveAll();
      root.Save(path);
  }

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<Categories />

在下面的示例中,使用了Remove方法删除了xml的Description元素:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void Remove()
{
    XElement root = XElement.Parse(@"
                                <Categories>
                                  <Category>
                                    <CategoryID>1</CategoryID>
                                    <CategoryName>Beverages</CategoryName>
                                    <Description>Soft drinks, coffees, teas, beers, and ales</Description>
                                  </Category>
                                </Categories>
                                ");
    root.Element("Category").Element("Description").Remove();
    root.Save(path);
}

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<Categories>
  <Category>
    <CategoryID>1</CategoryID>
    <CategoryName>Beverages</CategoryName>
  </Category>
</Categories>

6、处理属性

I.添加

LINQ to XML添加属性与添加元素师类似的,可以使用构造函数或者Add方法来添加属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void AddAttribute()
{
    XElement root = new XElement("Categories",
        new XElement("Category",
            new XAttribute("CategoryID", "1"),
            new XElement("CategoryName", "Beverages"),
            new XElement("Description", "Soft drinks, coffees, teas, beers, and ales")
        )
    );
    root.Element("Category").Add(new XAttribute("AddDate", DateTime.Now.ToShortDateString()));
    root.Save(path);
}

运行该示例将会得到一个xml文件,其内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>

<Categories>

  <Category CategoryID="1" AddDate="2010-01-31">

    <CategoryName>Beverages</CategoryName>

    <Description>Soft drinks, coffees, teas, beers, and ales</Description>

  </Category>

</Categories>

II.检索

检索属性可以使用Attribute(name)方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void SelectAttribute()
{
    XElement root = new XElement("Categories",
        new XElement("Category",
            new XAttribute("CategoryID", "1"),
            new XElement("CategoryName", "Beverages"),
            new XElement("Description", "Soft drinks, coffees, teas, beers, and ales")
        )
    );
    XAttribute xattr = root.Element("Category").Attribute("CategoryID");
    Console.WriteLine(xattr.Name);
    Console.WriteLine(xattr.Value);
}

上述代码的运行结果为:

CategoryID

1

本文总结

本文介绍了LINQ to XML的编程基础,即System.Xml.Linq命名空间中的多个LINQ to XML类,这些类都是LINQ to XML的支持类,它们使得处理xml比使用其他的xml工具容易得多。在本文中,着重介绍的是XElement、XAttribute和XDocument。 

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013-08-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Dapper学习(一)之Execute和Query
Dapper是一个用于.NET的简单的对象映射,并且在速度上有着轻ORM之王的称号。
Vincent-yuan
2019/09/29
1.5K0
Dapper学习(一)之Execute和Query
DawnSql快速入门
安装文件解压后,进入 config 目录,配置文件:default-config.xml
用户5383110
2023/02/25
1K0
插件化编程实现的一份糖炒栗子~~
迷茫的原因是因为想得太多,做得太少。因为只是 想 真的很容易,转瞬之间就会产生无数个念头,或许是该做点什么了吧。
易墨
2018/09/14
8120
插件化编程实现的一份糖炒栗子~~
C#操作XML方法集合
先来了解下操作XML所涉及到的几个类及之间的关系 如果大家发现少写了一些常用的方法,麻烦在评论中指出,我一定会补上的!谢谢大家
全栈程序员站长
2022/09/07
2.6K0
C#操作XML方法集合
C# 数据操作系列 - 17 Dapper ——号称可以与ADO.NET 同台飙车的ORM
之前四篇介绍了一个国内开发者开发的优秀框架SqlSugar,给我们眼前一亮的感觉。这一篇,我们将试试另一个出镜率比较高的ORM框架-Dapper。
程序员小高
2020/05/29
2.2K0
C# 数据操作系列 - 17 Dapper ——号称可以与ADO.NET 同台飙车的ORM
DawnSql解决SAAS的痛点
例如:在保险中,代理人的组织结构是金字塔型的,佣金项几十个,不同的产品有不同的佣金比例,代理人级别不同也有所不同。可以将代理人的em_no 作为主键,将代理的上下级、保单、佣金项作为数据,形成一个树形结构。当保单改变,或者上下级变化时候,动态修改该树。当需要计算佣金的时候,只需要扫描这棵树的佣金项即可。
用户5383110
2023/02/25
7440
【深入浅出C#】章节 9: C#高级主题:LINQ查询和表达式
C#高级主题涉及到更复杂、更灵活的编程概念和技术,能够让开发者更好地应对现代软件开发中的挑战。其中,LINQ查询和表达式是C#高级主题中的一项关键内容,具有以下重要性和优势:
喵叔
2023/08/21
3.3K0
[C#] XElement和XAttribute的关系
XElement和XAttribute是C#中用于处理XML的两个类。它们是System.Xml.Linq命名空间中的类。XElement代表XML元素,而XAttribute代表XML元素中的属性。它们之间的关系是,XElement可以包含一个或多个XAttribute作为其属性。XElement和XAttribute的异同点如下:1. 功能:XElement用于表示XML文档中的元素,可以包含其他元素、属性和文本内容。XAttribute用于表示XML元素中的属性。2. 属性:XElement具有Name、Value、Attributes、Elements等属性,用于获取或设置元素的名称、值、属性和子元素。XAttribute具有Name和Value属性,用于获取或设置属性的名称和值。3. 层级关系:XElement可以包含其他XElement作为其子元素,形成层级结构。而XAttribute是作为XElement的属性存在,不能包含其他元素或属性。4. 查询和操作:使用LINQ to XML可以方便地查询和操作XElement和XAttribute。可以使用LINQ查询语法或方法链来过滤、修改和操作XML文档。总的来说,XElement用于表示XML文档的元素,而XAttribute用于表示元素的属性。它们共同构成了XML文档的结构和内容。
科控物联
2023/10/28
4810
[C#] XElement和XAttribute的关系
常见.NET功能代码汇总 (2)
常见.NET功能代码汇总 23,获取和设置分级缓存 获取缓存:首先从本地缓存获取,如果没有,再去读取分布式缓存 写缓存:同时写本地缓存和分布式缓存 private static T GetGradeCache<T>(string key) where T:struct { MemoryCacheManager localCache = MemoryCacheManager.Instance; if (!localCache.IsSet(k
用户1177503
2018/02/27
8310
【C# 基础精讲】LINQ to XML查询
LINQ to XML 是 C# 中用于查询和操作 XML 数据的强大工具。它允许您使用 LINQ 查询语法对 XML 文档进行查询、过滤、投影等操作,从而更加方便地处理 XML 数据。本文将详细介绍 LINQ to XML 的基本概念、常见操作以及示例,帮助您了解如何在 C# 中使用 LINQ to XML 进行 XML 数据的查询和处理。
繁依Fanyi
2023/10/12
5930
【C# 基础精讲】LINQ to XML查询
SQL JOIN 子句:合并多个表中相关行的完整指南
注意,“Orders”表中的“CustomerID”列是指“Customers”表中的“CustomerID”。上述两个表之间的关系是“CustomerID”列。
小万哥
2023/11/26
1.1K0
SQL JOIN 子句:合并多个表中相关行的完整指南
C# XML基本操作
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
全栈程序员站长
2022/09/07
5560
复杂Excel转换与导入
  把不同客户提供Excel 直接导入到系统中生成对应的收货单或是出货单。后端创建收货端和出货单的接口已经有现成的webservice或是标准的xml;这类需要做的就是把客户提供不同种类的Excel mapping成标准格式。
阿新
2020/04/21
1.8K0
复杂Excel转换与导入
xml序列化和反序列化(二)
这方法,网上一般都能找到,针对复杂的xml,可以定义不同的实体对应进行解析,这里就不多说了,我要重点说的是怎么完美解析任意xml文档,先看一下示例代码:
yaphetsfang
2020/07/30
5970
使用 LINQ to XML,.NET 让生成 XML 文件变得和直接写 XML 一样轻松
2018-06-26 03:26
walterlv
2018/09/18
1.4K0
Unity-BattleStar丨12. 让数据更流畅:数据存储与性能优化
将BattleStar_GuideScene加载到build settings里,否则运行时会出现无法切换场景的现象。
星河造梦坊官方
2024/08/14
1960
Avalonia使用XML文件实现国际化
在软件开发日益全球化的今天,Avalonia 的国际化实现策略成为了众多开发者关注的焦点。继上一篇 Avalonia 国际化之路:Resx 资源文件的深度应用与探索[1]之后,本文将引领大家深入探究如何运用自定义 XML 文件来达成 Avalonia 国际化的目标,开启一段全新的技术探索之旅。
沙漠尽头的狼
2024/12/19
2680
Avalonia使用XML文件实现国际化
一步一步学Linq to sql(八):继承与关系
1.首先定义的是Topic实体基类,然后两个子类的继承,NewTopic--主题帖,Reply--回复帖。 2.Topic类上的特性,下面先来看一下特性类
aehyok
2018/09/11
4040
一步一步学Linq to sql(八):继承与关系
(翻译)LearnVSXNow! #16- 创建简单的编辑器-2
(LearnVSXNow又开始继续翻译了,为了提高翻译速度,不再对每句话进行翻译,并且会用自己的理解来代替不好翻译的句子。理解不一定正确,见谅。)
明年我18
2019/09/18
9020
(翻译)LearnVSXNow! #16- 创建简单的编辑器-2
C#语言中的 LINQ 基础应用
语言集成查询(Language Integrated Query,简称 LINQ)是 C# 最强大的特性之一。它允许开发人员直接在 C# 语言中编写查询语句,以便对来自不同数据源(如集合、数据库、XML 文档等)的数据进行操作和查询。LINQ 通过提供一种统一且可读性强的方式来查询和转换数据,让处理数据变得更加容易。
郑子铭
2025/03/07
4190
C#语言中的 LINQ 基础应用
相关推荐
Dapper学习(一)之Execute和Query
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验