C# 基础面试题通常会涵盖语言的基本语法、面向对象编程(OOP)概念、常用类库和工具等。以下是几个常见的 C# 基础面试题及其详细解答:
1. 什么是命名空间?
- 问题:请解释一下什么是命名空间,以及它的作用。
- 解答:
- 命名空间用于组织代码,避免类名冲突。
- 它可以包含类、接口、结构体和其他命名空间。
- 使用
using
关键字可以引入命名空间中的类型。
示例
csharp
namespace MyApplication
{
public class MyClass
{
public void DoSomething()
{
Console.WriteLine("Doing something...");
}
}
}
// 使用命名空间
using MyApplication;
class Program
{
static void Main(string[] args)
{
MyClass myClass = new MyClass();
myClass.DoSomething();
}
}
2. C# 中的值类型和引用类型有什么区别?
- 问题:请解释 C# 中的值类型和引用类型的区别。
- 解答:
- 值类型:存储在栈中,传递时复制实际值(如
int
,struct
)。 - 引用类型:存储在堆中,传递时复制引用(如
class
,string
)。 - 值类型的赋值是按值复制,而引用类型的赋值是按引用复制。
- 值类型:存储在栈中,传递时复制实际值(如
示例
csharp
// 值类型
int a = 5;
int b =