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);
        }

    }

 两种调用方式如下:

 

 IMsgSender s2 = new Sender();

 s2.Send("imap");//只有这样才能看到Send方法并调用 

2,字符编码

  • ASCII不能保存中文
  • UTF8是变长编码。在对ASCII字符编码时,UTF更省空间,只占1个字节,与ASCII编码方式和长度相同;Unicode在对ASCII字符编码时,占用2个字节,且第2个字节补零。
  • UTF8在对中文编码时需要占用3个字节;Unicode对中文编码则只需要2个字节
原文地址:https://www.cnblogs.com/imap/p/2720915.html