C# 高级面试题通常会涵盖语言特性、设计模式、性能优化、并发编程等多个方面。以下是几个常见的高级 C# 面试题及其详细解答:
1. 解释 async
和 await
的工作原理
- 问题:请解释一下
async
和await
关键字的工作原理,以及它们如何帮助提高应用程序的响应性。 - 解答:
async
用于标记一个方法为异步方法,允许在该方法中使用await
关键字。await
用于等待一个任务完成,但不会阻塞当前线程。它会将控制权返回给调用方,直到任务完成后再继续执行后续代码。- 使用
async
和await
可以避免阻塞主线程,从而提高应用程序的响应性和性能。
示例
csharp
public async Task<string> FetchDataAsync()
{
using (HttpClient client = new HttpClient())
{
string result = await client.GetStringAsync("https://api.example.com/data");
return result;
}
}