NET常见问题记录(不定期更新)
1,何时显式实现接口:不想让实现类调用的时候。
代码如下:
public interface IMsgSender
{
void Send(string mes);
}
public class Sender : IMsgSender
{
public void Say()
{
Console.WriteLine("Say Hello");
}
/// <summary>
/// 注意:显式实现的接口方法前不能加public修饰符,
/// 否则会编译错误
/// </summary>
/// <param name="mes"></param>
void IMsgSender.Send(string mes)
{
Console.WriteLine("显式接口:"+mes);
}
{
void Send(string mes);
}
public class Sender : IMsgSender
{
public void Say()
{
Console.WriteLine("Say Hello");
}
/// <summary>
/// 注意:显式实现的接口方法前不能加public修饰符,
/// 否则会编译错误
/// </summary>
/// <param name="mes"></param>
void IMsgSender.Send(string mes)
{
Console.WriteLine("显式接口:"+mes);
}
}
两种调用方式如下:
IMsgSender s2 = new Sender();
s2.Send("imap");//只有这样才能看到Send方法并调用
2,字符编码
- ASCII不能保存中文
- UTF8是变长编码。在对ASCII字符编码时,UTF更省空间,只占1个字节,与ASCII编码方式和长度相同;Unicode在对ASCII字符编码时,占用2个字节,且第2个字节补零。
- UTF8在对中文编码时需要占用3个字节;Unicode对中文编码则只需要2个字节
作者:imap
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架