当前位置: 首页 > news >正文

济南品牌网站建设电商软文范例100字

济南品牌网站建设,电商软文范例100字,高端网站建设哪里好,给你网站你会怎么做匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型。 类型名由编译器生成,并且不能在源代码级使用。 每个属性的类型由编译器推断。 可结合使用 new 运算符和对象初始值设定项创建匿名类型。 …

匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型。 类型名由编译器生成,并且不能在源代码级使用。 每个属性的类型由编译器推断。

可结合使用 new 运算符和对象初始值设定项创建匿名类型。 

以下示例显示了用两个名为 Amount 和 Message 的属性进行初始化的匿名类型。

var v = new { Amount = 108, Message = "Hello" };// Rest the mouse pointer over v.Amount and v.Message in the following
// statement to verify that their inferred types are int and string.
Console.WriteLine(v.Amount + v.Message);

匿名类型通常用在查询表达式的 select 子句中,以便返回源序列中每个对象的属性子集。 

匿名类型包含一个或多个公共只读属性。 包含其他种类的类成员(如方法或事件)为无效。 用来初始化属性的表达式不能为 null、匿名函数或指针类型。

最常见的方案是用其他类型的属性初始化匿名类型。 在下面的示例中,假定名为 Product 的类存在。 类 Product 包括 Color 和 Price 属性,以及你不感兴趣的其他属性。 变量 Productproducts 是 对象的集合。 匿名类型声明以 new 关键字开始。 声明初始化了一个只使用 Product 的两个属性的新类型。 使用匿名类型会导致在查询中返回的数据量变少。

如果你没有在匿名类型中指定成员名称,编译器会为匿名类型成员指定与用于初始化这些成员的属性相同的名称。 需要为使用表达式初始化的属性提供名称,如下面的示例所示。 在下面示例中,匿名类型的属性名称都为 PriceColor 和 。

var productQuery =from prod in productsselect new { prod.Color, prod.Price };foreach (var v in productQuery)
{Console.WriteLine("Color={0}, Price={1}", v.Color, v.Price);
}

可以使用 .NET 样式规则 IDE0037 强制执行是首选推断成员名称还是显式成员名称。

还可以按另一种类型(类、结构或另一个匿名类型)的对象定义字段。 它通过使用保存此对象的变量来完成,如以下示例中所示,其中两个匿名类型是使用已实例化的用户定义类型创建的。 在这两种情况下,匿名类型 shipment 和 shipmentWithBonus 中的 product 字段的类型均为 Product,其中包含每个字段的默认值。 bonus 字段将是编译器创建的匿名类型。

var product = new Product();
var bonus = new { note = "You won!" };
var shipment = new { address = "Nowhere St.", product };
var shipmentWithBonus = new { address = "Somewhere St.", product, bonus };

通常,当使用匿名类型来初始化变量时,可以通过使用 var 将变量作为隐式键入的本地变量来进行声明。 类型名称无法在变量声明中给出,因为只有编译器能访问匿名类型的基础名称。 有关 var 的详细信息,请参阅隐式类型本地变量。

可通过将隐式键入的本地变量与隐式键入的数组相结合创建匿名键入的元素的数组,如下面的示例所示。

var anonArray = new[] { new { name = "apple", diam = 4 }, new { name = "grape", diam = 1 }};

匿名类型是 class 类型,它们直接派生自 object,并且无法强制转换为除 object 外的任何类型。 虽然你的应用程序不能访问它,编译器还是提供了每一个匿名类型的名称。 从公共语言运行时的角度来看,匿名类型与任何其他引用类型没有什么不同。

如果程序集中的两个或多个匿名对象初始值指定了属性序列,这些属性采用相同顺序且具有相同的名称和类型,则编译器将对象视为相同类型的实例。 它们共享同一编译器生成的类型信息。

匿名类型支持采用 with 表达式形式的非破坏性修改。 这使你能够创建匿名类型的新实例,其中一个或多个属性具有新值:

var apple = new { Item = "apples", Price = 1.35 };
var onSale = apple with { Price = 0.79 };
Console.WriteLine(apple);
Console.WriteLine(onSale);

无法将字段、属性、时间或方法的返回类型声明为具有匿名类型。 同样,你不能将方法、属性、构造函数或索引器的形参声明为具有匿名类型。 要将匿名类型或包含匿名类型的集合作为参数传递给某一方法,可将参数作为类型 object 进行声明。 但是,对匿名类型使用 object 违背了强类型的目的。 如果必须存储查询结果或者必须将查询结果传递到方法边界外部,请考虑使用普通的命名结构或类而不是匿名类型。

由于匿名类型上的 Equals 和 GetHashCode 方法是根据方法属性的 Equals 和 GetHashCode 定义的,因此仅当同一匿名类型的两个实例的所有属性都相等时,这两个实例才相等。

匿名类型的辅助功能级别为 internal,因此在不同程序集中定义的两种匿名类型并非同一类型。 因此,当在不同的程序集中进行定义时,匿名类型的实例不能彼此相等,即使其所有属性都相等。

匿名类型确实会重写 ToString 方法,将用大括号括起来的每个属性的名称和 ToString 输出连接起来。

var v = new { Title = "Hello", Age = 24 };Console.WriteLine(v.ToString()); // "{ Title = Hello, Age = 24 }"
http://www.ds6.com.cn/news/54573.html

相关文章:

  • 静态学校网站做毕业设计信息流广告优秀案例
  • 网站开发亿玛酷给力5百度怎么做推广和宣传
  • 免费 个人 网站b站黄页推广
  • 自学织梦做网站要多久太原今日新闻最新头条
  • 家庭农场网站建设国内营销推广渠道
  • 长宁区网站建设公司网页设计框架图
  • 最近的军事新闻大事10条百度首页关键词优化
  • 网站备案流程2016微信引流推广精准粉
  • php英文商城网站建设交换友情链接的注意事项
  • 服务器网站后台登陆密码黄框显示建设网站的十个步骤
  • 公司网站建设457216336今天最新新闻报道
  • 个体户做网站是怎么备案百度网站下拉排名
  • 盐城网站开发效果税收大数据
  • 网站建设运营推广2023适合小学生的新闻事件
  • 如何建设一个网站什么时候友情链接
  • 网站建设网易购物网站大全
  • 网站利用微信拉取用户做登录页网络营销成功案例有哪些2022
  • 电商网站运营方案seo推广什么意思
  • 网站创建器营销推广的工具有哪些
  • 网站制作的差异化定位江苏营销型网站建设
  • 福州做网站外包网络平台建站
  • 怎样做网站后台公司市场营销策划方案
  • 西宁网站建设哪家公司好东莞网站推广行者seo08
  • 中国十大网站建设专业竞价托管哪家好
  • 如何建设网站赚钱机构类网站有哪些
  • 建正建设官方网站广州番禺发布
  • 南京哪家公司做企业网站 做得比较好网站优化怎么操作
  • 自己做网站开店地推推广平台
  • 怎么做简单的视频网站青岛seo优化
  • 网站建设 公司 常见问题北京seo优化公司