file-type

C#3.0学习笔记:变量、对象与静态类

TXT文件

下载需积分: 3 | 3KB | 更新于2025-02-18 | 164 浏览量 | 29 下载量 举报 1 收藏
download 立即下载
"这是关于C#3.0的学习笔记,涵盖了变量声明、匿名类型、自动属性、构造函数和静态类等核心概念。" 在C#3.0中,引入了一些重要的新特性,使得编程更加简洁和高效。以下是这些知识点的详细说明: 1. 变量声明与类型推断 (`var`) C#3.0引入了`var`关键字,允许开发者在声明变量时隐式指定类型。类型由编译器根据初始值推断。例如: ```csharp var a = 1; // a 被推断为 int 类型 var b = "sikezx"; // b 被推断为 string 类型 ``` 但需要注意的是,`var`不能用于未初始化的变量,且类型一旦确定,不能更改。尝试将一个字符串赋值给之前声明为整型的`var`变量会导致编译错误。 2. 自动属性 (`auto-implemented properties`) 自动属性简化了属性的声明,减少了冗余代码。例如: ```csharp public string Name { get; set; } public int Age { get; set; } ``` 这里,编译器会自动为Name和Age生成私有成员变量,以及对应的getter和setter方法。 3. 构造函数与对象初始化 在C#3.0中,可以通过对象初始化来同时创建对象并设置其属性值: ```csharp public class Class1 { public string name { get; set; } public int age { get; set; } public Class1(int aa) { age = aa; } } static void Main(string[] args) { Class1 cs = new Class1(55) { name = "sikezx", age = 33 }; Console.WriteLine(cs.name + "" + cs.age); } ``` 上述代码展示了如何在构造函数中传入初始值,并通过初始化器设置额外的属性值。 4. 匿名类型 匿名类型允许创建没有明确类型名的对象。它们通常用于临时数据存储,例如: ```csharp var a = new { name = "商品", price = 15.5 }; var b = new { name = "", price = 55.5 }; a = b; Console.WriteLine(a.name + "" + a.price); ``` 这里,`a`和`b`都是匿名类型,但它们可以相互赋值,因为它们具有相同的结构。 5. 扩展方法 (`extension methods`) 扩展方法允许在不修改现有类的情况下向其添加方法。这里展示了一个简单的示例: ```csharp public static class Class1 { public static string Say(this string name) { return "Hello, " + name; } } ``` 现在,任何字符串都可以调用`Say`方法,如`"sikezx".Say()`,这将返回"Hello, sikezx"。 以上是C#3.0中的几个关键特性,它们极大地提高了代码的可读性和开发效率。学习和掌握这些知识点对于C#开发者来说至关重要。

相关推荐