
C#3.0学习笔记:变量、对象与静态类
下载需积分: 3 | 3KB |
更新于2025-02-18
| 164 浏览量 | 举报
1
收藏
"这是关于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#开发者来说至关重要。
相关推荐










sikezx
- 粉丝: 18
最新资源
- VB制作的宾馆客房管理系统教程
- Visual C++中的按钮控件使用示例
- ArcIMS9.2许可证安装指南与最新授权文件
- Ajax控件使用实例及源码分享
- 权威树形菜单AuthorityTree的实现与应用
- ASP轻量级MVC框架实践教程
- ARCGIS实验数据包,分卷压缩解决传输问题
- 国家标准下的软件开发流程:需求到测试
- SSH框架实践教程:Spring, Struts, Hibernate整合示例
- 基于PHP和Mysql的多功能B/S在线考试系统开发
- 华为出品MMSC彩信中心模拟器的使用与功能详解
- 计算机考试利器:C语言测试系统详解
- 考研电磁场与电磁波全套复习资料
- SVG基础教程详尽指南:PPT版完整解析
- Apache HTTPD 2.2.0压缩包在LINUX系统下的应用
- C#实现的学生信息管理系统功能完整解析
- ARJ压缩包密码破解神器:Advanced ARJ Password Recovery
- PB界面框架Kodigo深度解析及源码应用指南
- 基于C#和Socket实现文件传输客户端程序
- 自制几何图形软件的开发与实现感想
- C# WPF 3D家庭成员显示项目源码分享
- C#单链表数据结构实现与算法解析
- 下载C#编写的俄罗斯方块完整源代码
- C#环境下的OpenGL开发包CS-GL_1.4介绍