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

有什么网站做微商网站建设与管理专业题目

有什么网站做微商,网站建设与管理专业题目,wordpress无法管理站点,网站推广应注意哪些事项一、什么是泛型? 官方理解:允许开发者在定义类、接口、方法或委托时使用类型参数 个人理解: 类型模具(类似Object变色龙) 二、泛型有什么用? 通过参数化类型实现代码复用,提升类型安全性并…
一、什么是泛型?

官方理解:允许开发者在定义类、接口、方法或委托时使用类型参数 

个人理解:  类型模具(类似Object变色龙)

二、泛型有什么用?

通过参数化类型实现代码复用,提升类型安全性并避免运行时类型转换开销(如装箱/拆箱),同时保持编译时类型检查,清晰的意图:明确表示代码可以处理多种类型

三、泛型的定义

1)泛型类    :  

 class 类名<T>{}                  new 类名<int>();

eg:

using System;
using LearnC_;
namespace HelloWorld
{class Program{static void Main(string[] args){// 创建一个整数类型的 Pairvar intPair = new Pair<int>(1, 2);intPair.DisplayPair(); // 输出: Pair: (1, 2)// 创建一个字符串类型的 Pairvar stringPair = new Pair<string>("Hello", "World");stringPair.DisplayPair(); // 输出: Pair: (Hello, World)}}public class Pair<T>{public T First { get; set; }public T Second { get; set; }public Pair(T first, T second){First = first;Second = second;}public void DisplayPair(){Console.WriteLine($"Pair: ({First}, {Second})");}}
}


2)泛型方法:  public static T 方法名<T >(T 参数){}       方法名.(参数)

eg:

using System;
namespace HelloWorld
{class Program{ public static T GenericIdentity<T>(T input){return input;}static void Main(string[] args){// 调用泛型方法int intResult = GenericIdentity(42);Console.WriteLine($"整数结果: {intResult}"); // 输出: 整数结果: 42string stringResult = GenericIdentity("Hello, Generics!");Console.WriteLine($"字符串结果: {stringResult}"); // 输出: 字符串结果: Hello, Generics!}}
}


3)泛型接口:     interface 接口名<T>{}        类名:接口名<类型>{}

eg:

using System;
namespace HelloWorld
{// 定义一个泛型接口public interface IContainer<T>{T Value { get; set; }}// 实现泛型接口的类public class SimpleContainer<T> : IContainer<T>{public T Value { get; set; }public SimpleContainer(T value){Value = value;}}class Program{ static void Main(string[] args){// 创建一个整数类型的容器IContainer<int> intContainer = new SimpleContainer<int>(10);Console.WriteLine($"整数容器中的值是: {intContainer.Value}"); // 输出: 整数容器中的值是: 10// 创建一个字符串类型的容器IContainer<string> stringContainer = new SimpleContainer<string>("Hello, Generic Interface!");Console.WriteLine($"字符串容器中的值是: {stringContainer.Value}"); // 输出: 字符串容器中的值是: Hello, Generic Interface!}}}


4)泛型委托:  

约束类型              示例                                                        说明
where T : struct    public class C<T> where T : struct        限制 T 为值类型(非 null)。
where T : class    public class C<T> where T : class        限制 T 为引用类型(可为 null)。
where T : new()    public class C<T> where T : new()         限制 T 必须有无参构造函数。
where T : BaseClass    public class C<T> where T : BaseClass    限制 T 必须继承自 BaseClass。
where T : IInterface    public class C<T> where T : IInterface    限制 T 必须实现 IInterface。
where T : U    public class C<T, U> where T : U                   限制 T 必须继承或实现 U。

eg:

1. where T : struct

  • 用途:限制类型参数T必须是值类型(如intdouble、自定义结构体等)。
  • 示例
    public class Example<T> where T : struct
    {
    public void PrintType()
    {
    Console.WriteLine(typeof(T).Name);
    }
    }// 使用示例
    var intExample = new Example<int>(); // 合法
    var stringExample = new Example<string>(); // 编译错误:string 是引用类型


2. where T : class

  • 用途:限制类型参数T必须是引用类型(如string、自定义类等)。
  • 注意:引用类型可以为null,除非结合where T : notnull使用(C# 8.0+)。
  • 示例
  • public class Example<T> where T : class
    {
    public void PrintType()
    {
    Console.WriteLine(typeof(T).Name);
    }
    }// 使用示例
    var stringExample = new Example<string>(); // 合法
    var intExample = new Example<int>(); // 编译错误:int 是值类型


3. where T : new()

  • 用途:限制类型参数T必须有一个无参公共构造函数。
  • 示例
  • public class Example<T> where T : new()
    {
    public T CreateInstance()
    {
    return new T(); // 确保可以调用无参构造函数
    }
    }// 使用示例
    var example = new Example<List<int>>(); // 合法:List<int> 有无参构造函数
    var invalidExample = new Example<StreamReader>(); // 编译错误:StreamReader 没有无参构造函数


4. where T : BaseClass

  • 用途:限制类型参数T必须继承自指定的基类BaseClass
  • 示例
    public class BaseClass { }
    public class DerivedClass : BaseClass { }public class Example<T> where T : BaseClass
    {
    public void PrintType()
    {
    Console.WriteLine(typeof(T).Name);
    }
    }// 使用示例
    var validExample = new Example<DerivedClass>(); // 合法
    var invalidExample = new Example<string>(); // 编译错误:string 不继承自 BaseClass

5. where T : IInterface

  • 用途:限制类型参数T必须实现指定的接口IInterface
  • 示例
    public interface IInterface { void Method(); }
    public class Implementation : IInterface { public void Method() { } }public class Example<T> where T : IInterface
    {
    public void CallMethod(T instance)
    {
    instance.Method(); // 确保 T 实现了 IInterface
    }
    }// 使用示例
    var validExample = new Example<Implementation>(); // 合法
    var invalidExample = new Example<string>(); // 编译错误:string 未实现 IInterface

6. where T : U

  • 用途:限制类型参数T必须是另一个类型参数U或其派生类型。通常用于泛型类中多个类型参数之间的关系约束。
  • public class BaseClass { }
    public class DerivedClass : BaseClass { }public class Example<T, U> where T : U
    {
    public void PrintTypes()
    {
    Console.WriteLine($"T: {typeof(T).Name}, U: {typeof(U).Name}");
    }
    }// 使用示例
    var validExample = new Example<DerivedClass, BaseClass>(); // 合法
    var invalidExample = new Example<BaseClass, DerivedClass>(); // 编


文章转载自:

http://HdJbut8j.sLqzb.cn
http://DnxBPJEj.sLqzb.cn
http://LJYiQoqj.sLqzb.cn
http://0fqj7Jd8.sLqzb.cn
http://wqh2npfZ.sLqzb.cn
http://y86r33bB.sLqzb.cn
http://a9c67d7K.sLqzb.cn
http://mtvKPqN2.sLqzb.cn
http://xjABWAmU.sLqzb.cn
http://ciEjUPYt.sLqzb.cn
http://Lu6XB5Nl.sLqzb.cn
http://bku8tghi.sLqzb.cn
http://Hfbguqkh.sLqzb.cn
http://8JAq9pbp.sLqzb.cn
http://Y2VeJExu.sLqzb.cn
http://gFyKLWRb.sLqzb.cn
http://KheMjPA3.sLqzb.cn
http://56OjkGuB.sLqzb.cn
http://UqGfJPqR.sLqzb.cn
http://KtbhlSVD.sLqzb.cn
http://9ibXDGZp.sLqzb.cn
http://fhMC9thC.sLqzb.cn
http://y36GCAzE.sLqzb.cn
http://FdJRbE6P.sLqzb.cn
http://eD0Z2QFe.sLqzb.cn
http://RulK1LAt.sLqzb.cn
http://uDKuyWFy.sLqzb.cn
http://KWtnHzWS.sLqzb.cn
http://bJcYre04.sLqzb.cn
http://26bmEDc5.sLqzb.cn
http://www.dtcms.com/wzjs/746601.html

相关文章:

  • 专业定制网站设计php做网站的源码
  • 专业做羽绒服的服装网站做网站公司300元钱
  • 重庆市官方网站软件公司简介
  • 中国三安建设网站二维码表白网页在线生成制作
  • 网站建设合同 含维护费制作网站好的公司
  • vue开发自适应网站dz网站设置了关键词但是不显示
  • 投票网站模板网站建设范文
  • 学做网站论坛坑人吗南昌市 做网站的公司
  • 广告公司做网站的效果怎么样外贸网站建设公司 迅当网
  • 阜南做网站购物网站建设优缺点
  • 黑龙江中国建设监理协会网站cpanel wordpress是什么
  • 了解宿迁建设网站微信公众号申请注册官网
  • 自己做的网站主页打开速度wordpress 模板丢失
  • 门户型网站都有哪些东莞外贸公司网站建设
  • 网站开发需要学mvc吗常熟企业建设网站公司
  • 个人网站包括哪些内容网站构造
  • 怎么把网站放到空间吗企业网站建设论文模板
  • 建站吗官方网站摄影课程自学网站
  • 怎么和网站建设公司签合同大型户外广告设计公司
  • 淘宝客网站哪里可以做广州白云区网站开发
  • 找人做一下网站大概多少钱深圳品牌网站推广公司哪家好
  • 网站建设企业咨询做网站时怎么透明化
  • 个人做视频网站长沙多地发布最新通告
  • python做网站的开发网站开发费用结算
  • 多企业宣传网站建设网站建设高端培训
  • 网站建设怎么配置伪静态文件晋江论坛怎么搜索帖子
  • 网站开发属于专利吗今天特大新闻
  • 男科医院网站建设策略wordpress导航菜单函数
  • 做内容网站 用什么模版WordPress虚拟资源模板
  • 建网站需要什么知识营销比较好的知名公司有哪些