微软LINQ中文教程

合集下载

c#中LINQ的基本用法实例

c#中LINQ的基本用法实例

c#中LINQ的基本⽤法实例⼀、什么是LINQLINQ(读⾳link)代表语⾔集成查询(Language Integrated Query),是.NEt框架的扩展,它允许我们⽤SQL查询数据库的⽅式来查询数据的集合,使⽤它,你可以从数据库、程序对象的集合以及XML⽂档中查询数据下⾯⼀个简单的⽰例,可以查询数组中⼩于8的数字并输出。

⼀般步骤:获取数据源、创建查询、执⾏查询。

需要注意的是,尽管查询在语句中定义,但直到最后的foreach语句请求其结果的时候才会执⾏using System;using System.Collections.Generic;using System.Linq;namespace LINK查询{class Program{static void Main(string[] args){int[] number = { 2, 4, 6, 8, 10 }; //获取数据源IEnumerable<int> lowNum = from n in number //创建并存储查询,不会执⾏操作where n < 8select n;foreach(var val in lowNum) //执⾏查询{Console.Write("{0} ", val);}Console.ReadKey();}}}⼆、查询表达式的结构查询表达式由查询体后的from⼦句组成,其⼦句必须按⼀定的顺序出现,并且from⼦句和select⼦句这两部分是必须的。

先介绍⼀下⼦句2.1 from⼦句from⼦句指定了要作为数据源使⽤的数据集合,它的语法是:from Type Item in Items其中Type是集合中元素的类型,是可选的,因为编译器可以从集合来推断类型。

Item是迭代变量的名字。

Items是要查询的集合的名字,必须是可枚举类型的它和foreach⽐较相似,但foreach语句在遇到代码时就执⾏其主体,⼆from⼦句什么也不执⾏。

第4章 LINQ查询大全

第4章 LINQ查询大全
·38·
第 4 章 LINQ 查询基础
IQueryable<T>的对象,可以对它进行枚举,遍历每一个元素。此外,它的元素可 以是任何数据类型,所以可以表示任何数据的集合。 目标数据:数据源中的元素并不定是查询所需要的结果。例如,对于一个学生信 息集合中,查询 A 只是查询学生的姓名,查询 B 要查询学生的姓名和各科成绩, 查询 C 则需要学生各科成绩的总分(需要另外计算),而不是原始数据中的各科 成绩。目标数据用来指定查询的具体想要的是什么数据。在 LINQ 中,它定义了 查询结果数据集中元素的具体类型。 筛选条件:筛选条件定义了对数据源中元素的过滤条件。只有满足条件的元素才 作为查询结果返回。筛选条件可以是简单的逻辑表达式表示,也可以用具有复杂 逻辑的函数来表示。 附加操作:附加操作表示一些其他的具体操作。比如,对查询结果进行排序、计 算查询结果的最值和求和、对查询结果进行分组等。 其中,数据源和目标数据是 LINQ 查询的必备元素,筛选条件和附加操作是可选元素。 比如,示例代码 4-1 中的查询 query1 就只包含了数据源和目标数据两个必备元素。本章后 面的章节将进一步介绍 LINQ 查询的具体使用方法。
通常,针对数据的查询是用简单的字符串文本来编写的查询语句,比如传统的 SQL 查 询语句,没有编译时的类型检查,安全性、方便性都不好。此外,开发人员还需要为不同 的数据源学习不同的数据查询语言,比如,查询 SQL 数据库的 T-SQL、查询 XML 数据的 DOM 结构等。
为了解决上面的问题,微软在.NET 3.5 版中推出一项具有突破性的新特性——语言集 成查询(LINQ)。LINQ 是 Language Integrate Query 的缩写,它在对象和数据之间建立一 种对应关系,可以使用访问内存对象的方式查询数据集合。LINQ 使查询成为 C#中的一种 语言构造。开发人员可以在 C#代码中嵌套类似于 SQL 语句的查询表达式,从而实现数据 查询的功能。

anglesharp linq语法

anglesharp linq语法

anglesharplinq语法AngleSharp是一个用于处理HTML和XML文档的轻量级C++库,它提供了一组强大的API,可用于解析、操作和生成HTML文档。

在AngleSharp中,LINQ (LanguageIntegratedQuery)语法是一种方便快捷的数据查询方式,可用于查询和处理HTML文档中的元素、属性和文本内容。

一、LINQ语法简介AngleSharp的LINQ语法基于C#中的LINQ语法,允许用户使用类似于查询语句的方式来获取和处理HTML文档中的数据。

通过使用LINQ语法,可以轻松地查询HTML文档中的元素、属性和文本内容,并进行各种操作。

二、使用LINQ语法查询元素使用LINQ语法,可以通过元素的选择器表达式来查询HTML文档中的元素。

选择器表达式类似于CSS选择器,可以根据元素的标签名、属性、位置等来选择元素。

例如,可以使用以下表达式来查询所有具有指定类名的元素:varelements=document.QuerySelectorAll("."+className);其中,document表示HTML文档对象,className是类名的字符串。

三、访问元素属性使用LINQ语法,可以访问HTML元素的各种属性。

例如,可以使用以下代码来获取指定元素的文本内容:vartext=element.Text;其中,element是要访问的元素对象。

四、操作元素内容使用LINQ语法,可以对HTML元素的内容进行各种操作。

例如,可以使用以下代码来将指定元素的文本内容设置为另一个字符串:element.Text=newText;其中,element是要修改的元素对象,newText是要设置的新文本内容。

五、使用LINQ语法处理数据使用AngleSharp的LINQ语法,可以将HTML文档中的数据转换成各种数据结构,如列表、数组等,以便进行进一步的处理和分析。

例如,可以使用以下代码将查询到的所有元素存储到一个列表中:varelementsList=elements.Select(element=>element.Id).ToList();其中,elements是查询到的所有元素列表,Select方法用于将每个元素转换成具有Id属性的对象,最后使用ToList方法将结果转换成列表。

linq转化为sql语句的方法

linq转化为sql语句的方法

linq转化为sql语句的方法Linq转化为SQL语句的方法概述Linq(Language Integrated Query)是微软推出的一种用于查询和操作数据的统一编程模型。

它可以在不同的数据源上执行查询,例如关系型数据库、XML文档等。

在开发过程中,我们常常需要将Linq 表达式转化为相应的SQL语句,以便对数据库进行操作。

本文将详细介绍多种将Linq转化为SQL语句的方法。

1. LINQ to SQL基本概念LINQ to SQL是一种将LINQ查询转化为SQL语句的方法。

它是Entity Framework的一部分,提供了一种直接在.NET应用程序中使用对象来表示和操作关系型数据库的方式。

在LINQ to SQL中,可以通过DataContext对象来执行查询,并将查询结果转化为SQL语句。

示例代码using System;using ;using ;public class Program{public static void Main(){// 创建DataContext对象,连接数据库DataContext context = new DataContext("Data Sour ce=.;Initial Catalog=MyDatabase;Integrated Security=True ");// 创建查询表达式var query = from c in <Customer>()where == "Beijing"select c;// 执行查询并获取SQL语句string sql = (query).CommandText;// 输出SQL语句(sql);}}2. Entity Framework基本概念Entity Framework是微软推出的一种对象关系映射(ORM)工具,可以映射.NET对象与数据库中的表、视图等关系。

LINQ入门教程

LINQ入门教程

跟我学LINQ TO SQL●LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性。

已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知、静态类型等强类型语言的好处。

并且它同时还使得查询可以方便地对内存中的信息进行查询而不仅仅只是外部数据源。

●LINQ定义了一组标准查询操作符用于在所有基于.NET平台的编程语言中更加直接地声明跨越、过滤和投射操作的统一方式,标准查询操作符允许查询作用于所有基于IEnumerable<T>接口的源,并且它还允许适合于目标域或技术的第三方特定域操作符来扩大标准查询操作符集,更重要的是,第三方操作符可以用它们自己的提供附加服务的实现来自由地替换标准查询操作符,根据LINQ模式的习俗,这些查询喜欢采用与标准查询操作符相同的语言集成和工具支持。

●LINQ架构●相关命名空间一.LINQ简介●LINQ包括五个部分:LINQ to Objects、LINQ to DataSets、LINQ to SQL、LINQ toEntities、LINQ to XML。

●LINQ to SQL全称基于关系数据的.NET语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能。

其建立于公共语言类型系统中的基于SQL的模式定义的集成之上,当保持关系型模型表达能力和对底层存储的直接查询评测的性能时,这个集成在关系型数据之上提供强类型。

●LINQ to XML在System.Xml.LINQ命名空间下实现对XML的操作。

采用高效、易用、内存中的XML工具在宿主编程语言中提供XPath/XQuery功能等。

●第一步:建立dbml(Database Mark Language.数据库描述语言,是一种XML格式的文档,用来描述数据库,有点类似Nhibernate的映射文件)●第二步:创建一个页面,页面加入一个GridView控件●第三步:编写代码进行数据绑定●第四步:执行代码public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){BindData();}}public void BindData(){NorthwindDataContext nt = new NorthwindDataContext();GridView1.DataSource = from c in nt.Customers select c.Orders;GridView1.DataBind();}}●LINQ是在之上的,那么在将来它会代替吗?●在大型项目中使用LINQ,它的效率如何呢?二.DataContenxt一、作用DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库。

LINQ Viewer 快速入门指南说明书

LINQ Viewer 快速入门指南说明书

®LINQ VIEWER QUICK START GUIDECONTENTS12345672829210 697108THE CANVASTop navigation bar: Access other dashboards,the canvas, settings and help.Find panel: Search your sketch for nodes and LINQsets based on node properties.Sketch name .Canvas sidebar: Toggle canvas panels to be shown or hidden.Tool bar (explained in more detail below).print(ctrl + p)export to excel Navigation panel: Zoom and pan the canvas, and view upstream, downstream and adjacent filters of the sketch for selected nodes.Properties panel: View more detail about the selected nodes or LINQsets.Sketch owner drop-down : View the creator and owner of the sketch.Main canvas space: View the Information Supply Chain.exportto imagezoom inreset zoom(ctrl + 0)zoom outfit content(ctrl + enter)pointerpan(alt + drag)expand allcollapse allVisualisations panel: Display node tags on thecanvas if they have been added by the editor.2345672829210234697651081* **BALANCED SCORECARD1 2 3 45627265374Hillary’s Office1Top navigation bar: Access other dashboards,the canvas, settings and help.Excel download: Export a spreadsheet of allnodes and node properties in the sketch.Sketch cost total: View the total cost of all actionnodes in the sketch.Node list: Click to view that node on the canvas.Value and cost columns: Sort LINQsets by Costor Value in ascending or descending order.Open / Hide all: Click to expand or minimise allLINQset rows and the nodes within them.LINQset name: View selected LINQset on thecanvas.The Balanced Scorecard and LINQ People Dashboard are accessible through the Dashboard tab in the top bar. You can find cost and value summaries about your sketch in the Balanced Scorecard, and insights focused around people in your Information Supply Chain in the LINQ People Dashboard. Dashboards are only available for sketches that have been published with sensitive information shown.12234256124563Hillary’s OfficeLINQ PEOPLETop navigation bar: Access other dashboards, the canvas, settings and help.Action bar graphs: View the top three actions by value, cost and annual hours.People pivot: View a visual activity summary of the selected person. Click expand button to zoom and pan.People drop-down: Select a person in your sketch to analyse.KPI cards: View a summary of the selectedperson’s actions in the sketch. Click the three dot button to see more details.Scatter plot quadrant: View the selectedperson’s Actions sorted by value and cost, and scaled by annual hours.INFORMATIONInformation nodes represent pieces of information, these can be created in five formats: Paper, File, Database, Service, Application and Verbal Information.ACTION NODESAction nodes are activities that produce information. There are five types of Action nodes: Capture, Process, Organisation, Outcome and ‘Something Happens Here’.AN INFORMATION SUPPLY CHAINThis example is a ‘Request for Service’. This starts with a ‘Member of the Public’ Person node which performs the ‘Request data’ Capture Action node which creates the ‘Request for Service’ Information node. This information is ‘Logged by Call Centre’ in an Action node by the ‘Customer Services’ Team node using anunidentifiedSystem node. The outcome is that a ‘Job Request’ Informationnode is created.SYSTEM NODESSystem nodes represent systems that store, process orcreate information. There are two types of System nodes: On-Premise or Cloud-Based.PEOPLE NODESPeople nodes are one person, or multiple people,performing an action to help create information. There are two types of People nodes: People and Team nodes.NODESInformation Supply Chains are created by connecting nodes. There are four node SuperTypes listed below.ELEMENTSCtrl DeleteSelect an Action node to see all its properties in the properties panel. At the bottom of this panel are the ‘Duration’ and ‘Frequency’ fields. These show how long the Action takes to perform and how frequently that action occurs.HOURLY RATE AND FINAL COSTSelect the People node (‘Member of the Public’ in this example) to find the ‘Hourly Rate’ property in the properties panel.The hourly rate combined with the frequency and duration from the Action node gives you the annual calculated cost of the action.PEOPLE AND ACTION COSTSProperties are assigned to People and Action nodes by the editor to help locate, calculate and reducecosts. These are only available to view when sensitive information is shown.© 2016 LINQ Ltd. LINQ is a trademark of LINQ Ltd. All other brands and product names are trademarks of their respective companies. ©2016 LINQ Ltd. LINQ is a registered trademark of LINQ Ltd in New Zealand and the United States of America. All other brands and product names are trademarks of their respective companies.LINQ Ltd, PO Box 25602, Wellington 6012, New Zealand。

LINQ中文教程

LINQ中文教程

LINQ中文教程一、LINQ概述LINQ是一种查询技术,它允许开发人员使用统一语法进行查询,无论是对于集合、数据库、XML还是其他数据源。

它支持对数据源进行过滤、排序、分组和投影等操作。

LINQ主要有以下几个方面的特点:1.统一的查询语法:LINQ提供了一种统一的查询语法,无论是对于集合还是其他数据源,开发人员都可以使用相同的语法进行查询。

2.编译时类型检查:LINQ的查询表达式是在编译时进行类型检查的,这样可以在编译时就发现错误,提高了代码的健壮性。

3.延迟加载:LINQ的查询通常支持延迟加载,只有在需要结果时才会执行查询操作,这样可以提高性能和效率。

4.集成查询:通过LINQ,可以对多个数据源进行集成查询,无论是集合、数据库还是XML等,都可以使用相同的查询语法进行查询和操作。

5.可组合性:LINQ的查询操作可以进行组合,可以将多个查询操作串联起来,形成复杂的查询链。

二、LINQ的用法1.查询语法LINQ提供了一种类似于SQL的查询语法,通过关键字from、where、select等来描述查询过程。

例如,对于一个整数集合,可以使用如下的查询语法来查询大于10的数字:```var query = from num in numberswhere num > 10select num;```其中,numbers是一个整数集合,num是每个元素的别名,select num表示选择满足条件的元素。

2.方法语法除了查询语法,LINQ还提供了一种方法语法,通过调用特定的查询方法来实现查询。

例如,对于上述的查询,可以使用方法语法来实现:```var query = numbers.Where(num => num > 10);```其中,Where是一个查询方法,num => num > 10表示一个Lambda表达式,表示筛选大于10的数字。

3.查询结果的使用通过LINQ的查询语法或方法语法,可以得到一个查询结果,可以将其转换为各种类型,进行进一步的操作。

linq常用语法和方法

linq常用语法和方法

linq常用语法和方法LINQ(Language Integrated Query)是一种强大的查询语言,用于在.NET框架中查询各种数据源。

它提供了许多常用的语法和方法,用于对数据进行筛选、排序、聚合等操作。

以下是一些LINQ常用的语法和方法:1. 查询语法(Query Syntax):通过使用标准的LINQ查询运算符(如`from`、`where`、`select`、`orderby`等),可以编写结构化查询语句。

例如:```csharpvar query = from item in collectionwhere == valueselect item;```2. 扩展方法语法(Extension Methods Syntax):通过使用LINQ扩展方法,可以使用Lambda表达式和委托来编写查询。

这些扩展方法提供了简洁的语法,以便对各种数据源进行操作。

例如:```csharpvar query = (item => == value);```3. 聚合操作:LINQ提供了许多聚合操作符,如`Count()`、`Sum()`、`Average()`等,可以对查询结果进行统计和计算。

例如:```csharpvar count = ();var sum = (item => );```4. 排序操作:使用`OrderBy()`和`OrderByDescending()`方法可以对查询结果进行排序。

还可以使用`ThenBy()`方法进行多级排序。

例如:```csharpvar sorted = (item => );```5. 转换操作:使用`Select()`方法可以对查询结果进行转换,将每个元素转换为指定的类型或表达式。

例如:```csharpvar transformed = (item => + " converted");```6. 分组操作:使用`GroupBy()`方法可以对查询结果进行分组,并根据指定的键对每个组进行聚合。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LINQ中文教程LINQ初体验之LINQ to Object (1)一步一步学Linq to sql(一):预备知识 (4)一步一步学Linq to sql(二):DataContext与实体 (9)一步一步学Linq to sql(三):增删改 (15)一步一步学Linq to sql(四):查询句法 (21)一步一步学Linq to sql(五):存储过程 (35)一步一步学Linq to sql(六):探究特性 (46)一步一步学Linq to sql(七):并发与事务 (53)一步一步学Linq to sql(八):继承与关系 (60)一步一步学Linq to sql(九):其它补充 (69)一步一步学Linq to sql(十):分层构架的例子 (73)Linq To Xml学习 (80)Linq To Xml学习-1. 概述 (80)Linq To Xml学习-2 编程概述 (82)C# 2008 学习笔记- LINQ to XML (87)一、命名空间 (87)二、编程方式创建XML文档 (88)三、使用LINQ 查询创建XML文档 (89)四、加载和解析XML内容 (90)六、遍历内存中的XML文档 (90)七、修改XML文档 (92)使用linq to xml 快速创建自己的Rss (93)LINQ初体验之LINQ to ObjectVS2008的发布,最激动人心的不过是LINQ的诞生。

Wh at‘s LINQ? Language Integrated Query 是也。

说得再明白一些,这是编程语言的一种新特性,能够将数据查询语句集成到编程语言中。

目前,LINQ 支持的语言有C# 和VB。

为啥会有LINQ,主要还是因为现在的数据格式越来越多,数据库、XML、数组、哈希表……每一种都有自己操作数据的方式,学起来费事费力。

于是,就有了LINQ诞生的理由——以一种统一的方式操作各种数据源,减少数据访问的复杂性。

LINQ带来很多开发上的便利。

首先,他可以利用Visual Studio这个强大的IDE(这话决不是吹,Visual Studio绝对是最好用的开发工具之一),至少用Visual Studio来写SQL语句,可以有智能感知了,比起从前用查询分析器写存储过程的感觉好多了!其次,它可以把数据当成一个对象来操作,即Data == Object? 的问题。

LINQ目前可以对XML, Object, SQL做数据访问,今后还会有LINQ to Entity 的功能。

说来惭愧,我也是刚刚才接触LINQ,先从最简单的开始吧,做一个LINQ to Object的例子,实现一个对数组的操作。

这个例子套用了今年TechED中海洋兄讲的例子,在此声明。

在这个例子中,我会先通过GetMethods的方法,拿到string的所有方法,接下来,就看LINQ的厉害了,这里是选出所有非静态的方法签名。

MethodInfo[] methods = typeof(string).GetMethods();var result = from m in methodswhere m.IsStatic != trueselect ;foreach (var r in result){Console.WriteLine(r.ToString());}Console.ReadLine();例子虽然简单,确能从中看出LINQ的一些端倪。

首先,var是什么东东?看起来,有点像javascript里面的弱类型的变量声明。

但是,C#是强类型的,尽管你用var来声明,编译器还是可以根据上下文推倒出它当前的类型。

比如这个例子里面,result就是IEnumerable 类型的。

在这里面,写IEnumerable和写var是一样效果的,显然,var会简单得多。

你不用考虑数据操作的返回值是什么类型,还能享受强类型声明带来的方便实惠……还有from m in methods这句,m是什么东西,m是隐式声明的一个变量,尽管没有声明,但编译器根据上下文,推断出它的类型是MethodInfo型的!.NET Framework 3.5的编译器的确是聪明了很多^^上面这个例子运行起来的结果中有很多重复的记录,我们可以用distinct()来过滤掉重复的,和SQL还是很相似的说。

var result = (from m in methodswhere m.IsStatic != trueselect ).Distinct();或者用group by 也可以var result = from m in methodswhere m.IsStatic != truegroup m by ;但是这样子写,在输出的时候,显示的是System.Linq.Lookup`2+Grouping[System.String,System.Reflection.MethodInf o],所以,再做一些修改var result = from m in methodswhere m.IsStatic != truegroup m by into gselect new { MethodName = g.Key, Overload = g.Count() };这里面又有一些新鲜的了——select new { MethodName = g.Key, Overload = g.Count() },先来看一个简单一些的例子:class MyClass{public string MethodName { get; set; }public int Overload { get; set; }}class Program{MyClass mc = new MyClass { MethodName = "aaa", Overload = 2 };}大括号里面的叫类初始化器,省去了构造函数,在new的同时,给对象的属性赋值。

这时候再回来看看select new { MethodName = g.Key, Overload = g.Count() },跟这个类初始化器很像吧,但是它更偷懒,new一个新对象,居然连类名都不写。

没错,这就叫匿名类。

不用写类的声明,直接实例化。

类的名字是由编译器在编译的时候自动生成的,也就是说,你在new的时候根本不知道这个类叫啥名,因此,这里就只能用var了。

这就更看出var的厉害了,不仅仅是写起来方便这么简单,在用到匿名类的时候,没有类名,这时候只能用var,嘿嘿!一步一步学Linq to sql(一):预备知识2007-08-14 09:00 作者:lovecherry 出处:天极网责任编辑:>dizzarz 什么是Linq to sqlLinq to s ql(或者叫DLINQ)是LINQ(.NET语言集成查询)的一部分,全称基于关系数据的.NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能,它和Linq to xml、Linq to objects、Linq to dataset、Linq to entities 等组成了强大的LINQ。

要学好LINQ查询语法,就不得不先理解C# 3.0的一些新特性,下面一一简单介绍。

隐含类型局部变量var age = 26;var username = "zhuye";var userlist = new [] {"a","b","c"};foreach(var user in userlist)Console.WriteLine(user);纯粹给懒人用的var关键字,告诉编译器(对于CLR来说,它是不会知道你是否使用了var,苦力是编译器出的),你自己推断它的类型吧,我不管了。

但是既然让编译器推断类型就必须声明的时候赋值,而且不能是null值。

注意,这只能用于局部变量,用于字段是不可以的。

匿名类型var data = new {username = "zhuye",age = 26};Console.WriteLine("username:{0} age:{1}", ername, data.age);匿名类型允许开发人员定义行内类型,无须显式定义类型。

常和var配合使用,var用于声明匿名类型。

定义一个临时的匿名类型在LINQ查询句法中非常常见,我们可以很方便的实现对象的转换和投影。

扩展方法public static class helper{public static string MD5Hash(this string s){return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(s,"MD5");}public static bool In(this object o, IEnumerable b){foreach(object obj in b){if(obj==o)return true;}return false;}}// 调用扩展方法Console.WriteLine("123456".MD5Hash());Console.WriteLine("1".In(new[]{"1","2","3"}));很多时候我们需要对CLR类型进行一些操作,苦于无法扩展CLR类型的方法,只能创建一些helper方法,或者生成子类。

扩展方法使得这些需求得意实现,同时也是实现LINQ的基础。

定义扩展方法需要注意,只能在静态类中定义并且是静态方法,如果扩展方法名和原有方法名发生冲突,那么扩展方法将失效。

自动属性public class Person{public string username { get; protected set; }public int age { get; set; }public Person(){ername = "zhuye";}}Person p = new Person();//ername = "aa";Console.WriteLine(ername);意义不是很大,纯粹解决机械劳动。

编译器自动为你生成get、set操作以及字段,并且你不能使用字段也不能自定义get、set操作,不过你可以分别定义get 和set的访问级别。

相关文档
最新文档