其他类(番外) C#(其他类型文件)

其他类(番外) C#(其他类型文件)

编码文章call10242025-02-01 3:27:2710A+A-

关注我,为您分享C#技术实现,感谢转发及点赞

1.Object类。

方法

注释

ToString()

是获取对象的字符串表示的一种便捷方式

GetHashTable()

如果对象放在名为映射(也称为散列表或字典)的数据结构中,就可以使用这个方法。

Equals()

ReferenceEquals()

对象相等比较

GetType()

获取对象所属类的更多信息,包括基本类、方法、属性等。

2.类包含

  • 包含类型是在另一个对象中做数据成员的对象类型

public class A //定义了一个类型A

{

//类型A

}

public class B//定义了一个类型B

{

private A a1;//申明了一个A类型的私有字段

public A AAA //A类型的属性

{

get;set;

}

public A GetA()//返回A类型的值

{

return a1;

}

}

实践代码:

namespace ZzzZConsoleApp1

{

public class A//创建一个类,下面类中我们会创建一个他这个类型的私有变量

{

private string val1;//创建一个私有变量

public string Val1 { get => val1; set => val1 = value; }

public A(string str)//定制一个构造函数

{

val1 = str;//为它赋上传进来的值

}

}

public class B

{

private A va1;

public A Bva1

{

get { return va1; }

set { va1 = value; }

}

//下面这个方法也一样,返回类型是上一个类A

public A GetA()

{

return new A("hahaha");

}

}

}

static void Main(string[] args)

{

B b = new B();

b.Bva1 = new A("参数");//实例化一个对象去交给b的一个属性

Console.WriteLine(b.Bva1.Val1);//使用对象b

A a = b.GetA();//调用对象b的GetA方法来返回一个A类型的对象

Console.ReadLine();

}

3. 类嵌套

代码示例:

public class Computer//定义一个计算机大类

{

public string Name

{

get;set;

}

//这是被嵌套的类

public class c1

{

private string use;//定义一个私有变量

public c1(string name)//为被嵌套类创建一个构造函数

{

use = name;

}

public string Use//被嵌套类的一个属性

{

get { return use; }

set { use = value; }

}

public string c1name(string name)

{

return "我现在用的是" + name;

}

public static string Yu(string st )

{

return "一共有" + st + "种语言";

}

}

}

4.匿名类型

var与new关键字一起使用时,可以创建匿名类型。

匿名类型只是一个继承了Object的、没有名称的类。

该类的定义从初始化器中推断,类似于隐式类型化的变量。

var info = new { Name = "ZzzZ", Age = 1, Sex = "男" };

5.分布类

指同一个类的代码分布在多个文件中

使用partial关键字来修饰

6.扩展方法

扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其它方式修改原始类型

扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用

如果扩展方法与类中的某个方法同名,扩展方法就从来不会被调用。类中已有的实例方法优先。

代码示例:

///

/// 扩展user

///

public static class UserExt

{

///

/// 扩展User类的一个方法

///

/// u">被扩展类的一个对象

/// a">姓名

/// b">年龄

public static void Exists(this User u,string a, int b)

{

if (u._Name == a && u._Age == b)

{

Console.WriteLine("相同的");

}

else

{ Console.WriteLine("写错了"); }

}

}

User ur = new User();

ur._Name = "ZzzZ";

ur._Age = 1;

ur.Exists("ZzzZ",36);

Console.ReadLine();

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4