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

WordPress建站教程 网盘杨凌做网站网址

WordPress建站教程 网盘,杨凌做网站网址,汕头第一网e京网,短链接生成器下载1. 泛型约束(Generic Constraints) 在泛型类、接口或方法的定义中,where关键字用于指定类型参数的约束。这些约束可以确保类型参数具有某些特定的属性。例如它是一个类、实现了某个接口、是另一个类型的派生类、具有无参构造函数等。 1.1 …

1.  泛型约束(Generic Constraints)

泛型类、接口或方法的定义中,where关键字用于指定类型参数的约束。这些约束可以确保类型参数具有某些特定的属性。例如它是一个类、实现了某个接口、是另一个类型的派生类、具有无参构造函数等。

1.1  泛型约束条件表

约束名称详情
T:struct类型参数必须是值类型,可指定除Nullable以外的任何值类型
T: class类型参数必须是引用类型,包括任何类、接口、委托或数组类型
T: new()类型参数必须具有无参构造函数(且访问保护等级为public),当与其他约束一同使用时,new()约束必须最后指定
T: <基类名称>类型参数必须是指定的基类或派生自指定的基类
T:<接口名称>类型参数必须是指定的接口或实现指定的接口,可指定多个接口约束,接口约束也可是泛型

1.2  各约束条件使用代码示例

1.2.1  T: struct

public class MyClass<T> where T : struct  
{  // 在这里,T 必须是值类型  public void MyMethod(T item)  {  // ...  }  
}

1.2.2  T: class

public class MyClass<T> where T : class  
{  // 在这里,T 必须是引用类型  public void MyMethod(T item)  {  // ...  }  
}

1.2.3  T: new()

public class MyClass<T> where T : new()  
{  //在这里,T 必须具有无参构造函数//这个约束允许在泛型类内部创建类型参数类型的新实例public T CreateNewInstance()  {  return new T(); // 调用无参构造函数  }  
}

1.2.4  T: <基类名称>

public class BaseClass  
{  // 基类成员  public void BaseMethod()  {  // ...  }  
}  public class DerivedClass1 : BaseClass  
{  // DerivedClass1特有的成员  
}  public class MyClass<T> where T : BaseClass  
{  //在这里,T 必须是指定的基类或派生自指定的基类// 泛型方法,接受T类型的参数  public void MyMethod(T item)  {  item.BaseMethod(); // 调用基类的方法  // 这里可以添加更多逻辑,针对T类型(即BaseClass或其派生类)  }  
}  

1.2.5  T: <接口名称>

public interface IMyInterface  
{  void MyInterfaceMethod();  
}  public class MyClass<T> where T : IMyInterface  
{  //在这里,T 必须是指定的接口或实现指定的接口public void UseInterfaceMethod(T item)  {  item.MyInterfaceMethod(); // 调用接口方法  }  
}

1.2.6  组合约束

1.2.6.1  class & 接口
public interface IMyInterface  
{  void MyInterfaceMethod();  
}  public class MyClass<T> where T : class, IMyInterface  
{  // 在这里,T 必须是引用类型并实现IMyInterface接口  public void UseInterfaceMethod(T item)  {  item.MyInterfaceMethod(); // 调用接口方法  }  
}
1.2.6.1  基类 & 具有无参构造
public class MyBaseClass  
{  public MyBaseClass() { } // 无参构造函数  
}  public class MyClass<T> where T : MyBaseClass, new()  
{  // 在这里,T 必须是MyBaseClass或其派生类,并且有一个无参构造函数  public T CreateNewInstance()  {  return new T(); // 调用无参构造函数  }  
}

2.  LINQ查询中的条件过滤

LINQ(Language Integrated Query----语言集成查询)提供了一种强大的查询能力,允许你以声明式的方式对集合(如数组、列表等)进行查询和操作。where关键字在LINQ查询中用于指定过滤条件,以筛选出满足特定条件的元素

示例:查询列表中的元素

假设你有一个Person类,包Name和Age属性

public class Person  
{  public string Name { get; set; }  public int Age { get; set; }  
}  

现在有Person对象的列表,如果你想要找出所有年龄大于30岁的人,你可以使用LINQ的where子句来实现:

public class MyClass  
{  public List<Person> people = new List<Person>  {  new Person { Name = "张三", Age = 10 },  new Person { Name = "李四", Age = 20 },  new Person { Name = "王五", Age = 30 },new Person { Name = "赵六", Age = 40 },new Person { Name = "随便", Age = 50 },new Person { Name = "编个名", Age = 60 },new Person { Name = "V TheShow", Age = 200 },};  var olderPeople = from p in people  where p.Age > 50select p;  public void WriteFilterPeople(){foreach (var person in olderPeople)  {  Console.WriteLine(person.Name + " is " + person.Age + " years old.");  }  }//或者使用Lambda表达式var olderPeopleLambda = people.Where(p => p.Age > 50);  public void WriteFilterPeopleLambda(){foreach (var person in olderPeopleLambda)  {  Console.WriteLine(person.Name + " is " + person.Age + " years old.");  }  }//上面的两种方式的输出均为/*编个名 is 60 years old.V TheShow is 200 years old.*/}

   

http://www.yayakq.cn/news/755317/

相关文章:

  • 无锡新吴区住房建设交通局网站制作网页可以用什么软件
  • 做项目的网站简约 网站模板
  • 爱站网长尾关键词挖掘工具vi设计的流程
  • 学做网站论坛熊掌装潢设计是什么
  • 门户网站 模板移动健康app下载
  • 临沂网站开发技术员北京手机网站制作公司
  • 网站开发工作容易出现的失误公司网站建设技术的发展
  • 网站建设的阶段一个普通的网站做线上交易好吗
  • 做学校后台网站农村电商网站建设计划书
  • 网站开发职责与要求2019流行做什么网站网站
  • 找人做网站网站wordpress 作者名称
  • 淘客手机网站模板wordpress定时发布的文章失效
  • 服装公司网站定位百度搜索关键词排行榜
  • 用app怎么样建网站车网站建设策划
  • 酒店网站建设与设计公司哈尔滨网站制作案例
  • 科技建站网站源码网站公司销售怎么做
  • 手机端网站外部链接如何去优化建了个网站百度上会有么
  • 中国十大电商做的好的网站网站控制台
  • 微网站怎么做的好名字做招聘信息的网站有哪些内容
  • 网站站内站建设现状wordpress媒体库显示
  • 建设一个类似于京东的网站医院网站建设系统
  • 怎么样才能让网站网站设计与管理论文
  • 网站开发 自我评价农资网络销售平台
  • 企业网站能起到什么作用wordpress 画图插件
  • 网站app制作如何自己建网站
  • 网站源码模块产品效果图怎么做出来的
  • 建电子商务网站注意事项网上拿手工做的网站
  • 网站外链收录很多 内链收录几个网站 空间 双线
  • 义乌购物网站建设多少钱做别人一样的网站
  • 做外贸需要网站吗深圳市光明区官网