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

中英文网站是怎么做的柘城网站建设

中英文网站是怎么做的,柘城网站建设,合肥网站建设cnfg,wordpress添加工具在 C# 中#xff0c;存储不同类型的数据有多种方式#xff0c;具体选择取决于你的需求#xff08;类型安全、性能、灵活性等#xff09;。以下是常见的解决方案及其适用场景#xff1a;1. 使用 object 类型#xff08;装箱 / 拆箱#xff09;将所有数据转换为基类 objec…在 C# 中存储不同类型的数据有多种方式具体选择取决于你的需求类型安全、性能、灵活性等。以下是常见的解决方案及其适用场景1. 使用 object 类型装箱 / 拆箱将所有数据转换为基类 object利用 C# 的多态性存储任意类型。 Listobject mixedList new Listobject(); mixedList.Add(123);            // int → 装箱为object mixedList.Add(Hello);        // string引用类型无需装箱 mixedList.Add(new DateTime()); // DateTime → 装箱为object ​ // 访问时需手动拆箱可能引发InvalidCastException int num (int)mixedList[0];   // 拆箱 string str (string)mixedList[1];优点简单直接无需额外类型定义。缺点装箱 / 拆箱开销值类型如 int, DateTime频繁转换会降低性能。类型不安全运行时可能抛出 InvalidCastException。2. 使用泛型集合 Listdynamic dynamic 关键字在运行时动态解析类型避免编译时类型检查。Listdynamic dynamicList new Listdynamic(); dynamicList.Add(123);        // 无需装箱 dynamicList.Add(Hello); dynamicList.Add(new { Name Alice }); // 匿名类型也可存储 ​ // 访问时无需显式转换 int num dynamicList[0];    // 动态类型解析 string str dynamicList[1];优点无需装箱拆箱值类型以原始类型存储。支持匿名类型等复杂结构。缺点运行时类型风险若类型不匹配会在运行时抛出异常。性能开销动态解析比静态类型稍慢。3. 使用自定义类 / 结构体推荐方案 public class MixedData {public int Id { get; set; }public string Name { get; set; }public DateTime BirthDate { get; set; } } ​ // 使用方式 ListMixedData dataList new ListMixedData(); dataList.Add(new MixedData { Id 1, Name Alice, BirthDate DateTime.Now });定义一个包含所需字段的类每个字段使用明确的类型。 public class MixedData {public int Id { get; set; }public string Name { get; set; }public DateTime BirthDate { get; set; } } ​ // 使用方式 ListMixedData dataList new ListMixedData(); dataList.Add(new MixedData { Id 1, Name Alice, BirthDate DateTime.Now });优点类型安全编译时检查类型。可读性高字段含义明确。性能最优无需装箱拆箱。缺点需提前定义类型不够灵活。4. 使用 Tuple 或 ValueTuple 适合临时存储少量不同类型的数据。// Tuple旧版需通过Item1、Item2访问 var tupleList new ListTupleint, string(); tupleList.Add(Tuple.Create(1, Alice)); ​ // ValueTupleC# 7.0推荐支持命名元素 var valueTupleList new List(int Id, string Name)(); valueTupleList.Add((1, Alice)); ​ // 访问方式 int id valueTupleList[0].Id; string name valueTupleList[0].Name;优点简洁无需额外类定义。缺点元素数量有限最多 8 个。不适合复杂或大量数据。5. 使用 Dictionarystring, object以键值对形式存储不同类型的值类似动态对象。 var dict new Dictionarystring, object(); dict[Id] 123; dict[Name] Alice; dict[IsActive] true; ​ // 访问时需转换类型 int id (int)dict[Id]; bool isActive (bool)dict[IsActive];优点灵活可动态添加 / 删除键值对。缺点类型不安全需手动转换。键名硬编码易出错。6. 使用接口或抽象类面向对象设计定义公共接口让不同类型实现该接口。 public interface IDataItem { } ​ public class Person : IDataItem {public string Name { get; set; } } ​ public class Product : IDataItem {public decimal Price { get; set; } } ​ // 使用方式 ListIDataItem items new ListIDataItem(); items.Add(new Person { Name Alice }); items.Add(new Product { Price 9.99m }); ​ // 通过模式匹配访问 foreach (var item in items) {if (item is Person person)Console.WriteLine(person.Name);else if (item is Product product)Console.WriteLine(product.Price); }优点类型安全符合面向对象原则。可扩展易于添加新类型。缺点需设计接口和继承体系复杂度较高。7. 使用 ExpandoObject动态对象System.Dynamic.ExpandoObject 是动态类型的字典支持运行时添加属性。 dynamic person new ExpandoObject(); person.Name Alice; person.Age 30; ​ // 直接访问属性无需转换 Console.WriteLine(person.Name); // Alice优点语法简洁像普通对象一样访问属性。无需提前定义类型。缺点编译时无类型检查易出错。性能略低于静态类型。7. ArrayList非泛型不推荐特点来自 System.Collections 命名空间可存储任意类型实际存为 object。动态扩容但存在装箱 / 拆箱开销和类型安全问题。示例 using System.Collections; ​ ArrayList list new ArrayList(); list.Add(张三);    // string → object装箱 list.Add(10);        // int → object装箱 list.Add(2.2);       // double → object装箱 ​ // 访问时需手动拆箱可能引发InvalidCastException int num (int)list[1]; // 拆箱方案装箱开销类型安全性能相对Listobject有否低Listdynamic无否中自定义类 / 结构体无是高Dictionarystring, object有否中ExpandoObject无否中低ArrayList有否低
http://www.pierceye.com/news/320087/

相关文章:

  • 垦利区建设局网站如何零基础学编程
  • wordpress金融小学生班级优化大师
  • 网站链接怎么做标记在哪个网做免费网站好
  • 山西响应式网站建设制作营销网站建设公司排名
  • 商学院网站建设建议深圳市宝安网站建设
  • 营销型网站建设报价方案中国建设银行舟山分行网站
  • 建游戏网站建筑工程公司管理制度
  • 网站风格配置怎么做wordpress下载弹窗插件
  • 合肥建设工会网站做试管网站
  • 商丘市有没有做网站建设工程检测预约网站
  • 网站产品内容在数据库wordpress都可以干什么
  • 宿州哪家做网站不做西安家电商城网站建设
  • 广安门外网站建设wordpress权限不能更新
  • 可以查企业备案的网站吗重庆建网站多少钱
  • 做网站如何分工中国十大企业
  • 网站开发和前端和数据媒体wordpress关闭主题
  • 怎样开网站卖东西龙华网站制作公司
  • 网站制作公司南宁怎样大力开发公司网站建设
  • 香橼做空机构网站广州地铁运营时间
  • 怎么用Visio studio做网站软件开发需要哪些人员
  • emlog做企业网站建设教育网站费用
  • 有做火币网这种网站的吗对红色网站建设的建议
  • 聚美优品网站建设导向北郊网站建设
  • 一键建站免费公司网页如何建立
  • 简诉网站建设的基本流程嵌入式培训心得体会
  • 旅游网站建设报价单编程猫官方网站
  • phpcms 专题网站模板网站效果图用什么做
  • 手机网站需要多少钱做淘宝网站运营工作流程
  • 惠州seo网站管理个人网站名
  • 大型网站的优化方法儿童编程哪家培训机构好