随笔分类 - C#
C#语言学习,知识讨论。
摘要:了解了窗体的显示相关知识,接着总结一下窗体的传值方法:1.通过构造函数特点:传值是单向的(不可以互相传值),实现简单实现代码如下:在窗体Form2中 int value1;string value2;public Form2 ( int value1 , string value2 ){ InitializeComponent ( ); this.value1 = value1; this.val...
阅读全文
摘要:有时候你会需要一个DLL是强命名的,比如你想把这个文件放到GAC里面。如果这是一个第三方的DLL,你没有源代码,这会是一件比较麻烦的事情。有一个方法可以解决这个问题。 在VS.NET的命名行窗口下,输入如下的代码。 1 ,生成一个KeyFile sn -k keyPair.snk 2, 得到程序集的MSIL ildasm SomeAssembly.dll /out:SomeAssembl...
阅读全文
摘要:方法、实例构造函数、索引器和运算符是由它们的签名来刻画的: 方法签名由方法的名称和它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。需注意的是,方法签名既不包含返回类型,也不包含 params 修饰符(它可用于最右边的参数)。 实例构造函数签名由它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。具体说来,实例构造函数的签名不包含可为最右边的参数指定的 par...
阅读全文
摘要:一直以来,搞不懂IEnumerable与IEnumerator这两个接口的区别,今天看了一下MSDN并在网上搜了一把关于他们的区别,似乎理解了,但还是弄不懂他们最主要的区别是什么。看看MSDN是怎么定义他们的吧。[代码] 再贴一个MSDN给出的例子:[代码] 最后看一段别人的总结,水平高的人应该理解更深吧。我先贴出来供以后参考。 1、一个Collection要支持foreach方式的遍历...
阅读全文
摘要:在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上下文关键字指定的。下表列出了六种类型的约束:约束 说明 T:结构 类型参数必须是值类型。可以指定除 Nullable 以外的任何值类型。有关更多信息,请参见使用可空类型(C# 编程指南)。 T:类 类...
阅读全文
摘要:泛型概述 使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。 泛型最常见的用途是创建集合类。 .NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。应尽可能地使用这些类来 代替普通的类,如 System.Collections 命名空间中的 ArrayList。 您可以创建自己的泛型接口、泛型类、...
阅读全文
摘要:迭代器是一种方法、get 访问器或运算符,它通过使用 yield 关键字对数组或集合类执行自定义迭代。yield 返回语句会导致源序列中的元素在访问源序列中的下一个元素之前立即返回给调用方。尽管您以方法的形式编写迭代器,但编译器会将其转换为一个实际上是状态机的嵌套类。只要客户端代码中的 foreach 循环继续进行,此类就会跟踪迭代器的位置。 将使用 foreach 语句从客户端代码中调用迭代器...
阅读全文
摘要:static 修饰符声明类成员属于类,而不属于类的实例。static 修饰符指明成员属于类本身而不属于类的实例。即使创建了类的多个实例,给定应用程序中只存在 static 成员的一个副本。您只能通过对类的引用(而不是对实例的引用)来访问 static 成员。但是,在类成员声明中,可以通过 this 对象来访问 static 成员。类的成员可以使用 static 修饰符来标记。类、接口和接口的成员不...
阅读全文
摘要:方法、实例构造函数、索引器和运算符是由它们的签名来刻画的: 方法签名由方法的名称和它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。需注意的是,方法签名既不包含返回类型,也不包含 params 修饰符(它可用于最右边的参数)。 实例构造函数签名由它的每一个形参(按从左到右的顺序)的类型和种类(值、引用或输出)组成。具体说来,实例构造函数的签名不包含可为最右边的参数指定的 par...
阅读全文

浙公网安备 33010602011771号