C#3.0新特性小结(2)
2009-03-22 19:10 chenkai 阅读(391) 评论(0) 编辑 收藏 举报c#3.0中除了自动属性外,还添加:
代码演示实例:
//测试数组
public static void TestArray()
{
//测试数组
var intArray = new[] { 120, 110, 119 };
var strArray = new[] { "TreeyLee", "JFlyZhao", "JFlyingchen" };
var objArray = new[] {
//初始化对象
new {username="马鹏飞",userpass="AdminDoucment"},
new {username="周静",userpass="周界"}
};
//对单个变量赋值
var seta =intArray[0];
var setb = strArray[1];
var setc = objArray[1].userpass;//可以副单个属性 也可副单个对象objArray[0]
//打印当前数据
Console.WriteLine("seta:" + seta + "\nsetb:" +setb+ "\nsetc:" + setc);
}
/// <summary>
/// 综合测试匿名类型
/// </summary>
public class TotalTestAnnoy
{
//定义属性
public string username { get; set; }
public string userpass { get; set; }
public int age { get; set; }
//定义测试方法
public static void TestMethods()
{
//集合初始化器
List<TotalTestAnnoy> TotalList = new List<TotalTestAnnoy> {
//不能直接写new {
} 集合器中只能装TotalTestAnnoy对象,不能var类型
new TotalTestAnnoy{username="老顾",userpass="laogu",age=21},
new TotalTestAnnoy{username="周静",userpass="zhoujing",age=26},
new TotalTestAnnoy{username="陈凯",userpass="chenkai",age=21}
};
//定义匿名类型
var GetTotalList = from newtotallist in TotalList
where newtotallist.age == 21//吧结果定义成一个新对象 只包含两个属性newname 和newpass
select new { newname = newtotallist.username, newpass = newtotallist.userpass };
//循环打印新对象
foreach(var getfirst in GetTotalList)
{
//打印新实例结果
Console.WriteLine("定义新实例newname:"+getfirst.newname+"\nnewpass:\n"+getfirst.newpass);
}
}
}
public static void TestArray()
{
//测试数组
var intArray = new[] { 120, 110, 119 };
var strArray = new[] { "TreeyLee", "JFlyZhao", "JFlyingchen" };
var objArray = new[] {
//初始化对象
new {username="马鹏飞",userpass="AdminDoucment"},
new {username="周静",userpass="周界"}
};
//对单个变量赋值
var seta =intArray[0];
var setb = strArray[1];
var setc = objArray[1].userpass;//可以副单个属性 也可副单个对象objArray[0]
//打印当前数据
Console.WriteLine("seta:" + seta + "\nsetb:" +setb+ "\nsetc:" + setc);
}
/// <summary>
/// 综合测试匿名类型
/// </summary>
public class TotalTestAnnoy
{
//定义属性
public string username { get; set; }
public string userpass { get; set; }
public int age { get; set; }
//定义测试方法
public static void TestMethods()
{
//集合初始化器
List<TotalTestAnnoy> TotalList = new List<TotalTestAnnoy> {
//不能直接写new {

new TotalTestAnnoy{username="老顾",userpass="laogu",age=21},
new TotalTestAnnoy{username="周静",userpass="zhoujing",age=26},
new TotalTestAnnoy{username="陈凯",userpass="chenkai",age=21}
};
//定义匿名类型
var GetTotalList = from newtotallist in TotalList
where newtotallist.age == 21//吧结果定义成一个新对象 只包含两个属性newname 和newpass
select new { newname = newtotallist.username, newpass = newtotallist.userpass };
//循环打印新对象
foreach(var getfirst in GetTotalList)
{
//打印新实例结果
Console.WriteLine("定义新实例newname:"+getfirst.newname+"\nnewpass:\n"+getfirst.newpass);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架