2023-3-29

1.byte和byte[]

  • byte=8bit
  • C#中 byte都是数值:byte a = 10;
  • 根据不同的编码规则(Ascii、Base64、Unicode等)将字符串转为byte[]传输
    • eg1: string--char[]--byte[]--传输--byte[]--char[]--string
    • eg2: string--char[]--byte[]-base64--传输--base64-byte[]--char[]--string
  参考资料  Byte和byte[]数组       

 

2.Unicode

  • Unicode是字符集标准,就是说它已经包含全世界所有的字符,每个字符都有对应的位置,根据这个位置就能找到对应的字符,类似于地址

  • utf-8、utf-16、utf-32之类以utf-8为例,8代表它最低为8bit,即1byte;所以说它包含着Ascii编码,对于汉字他就是两位,即2byte,以此类推;但他们的目的就是根据对应的规则(类似送快递的,每个快递员都有自己找房间的办法,有人先从小区门口找起,有人先骑到小区里面找起,实际结果都一样,都是为了找到对应的房间,把货送到地址)找到Unicode字符集标识的字符    
  参考资料  Unicode、UTF-8、UTF-16 终于懂了

 

3.Lambda和Linq的关系

  • 两者关系并不密切,linq的本来是通过from。。in。。where。。这种语句来查询表或者集合的,但是到了C#中因为做了处理,将这些常见的语句封装成一个个方法,例如Where()、Select()等等;这些方法很多都是拓展方法,然后里面还有一个Func委托,将委托写成Lambda格式就出现了Lambda和Linq的混合。
  • 要实现Linq的集合首先得实现IEnumerable接口,即迭代器。
  • Linq都是延迟执行,只有到了运行的时候才会去加载
  参考资料  Linq 和 lambda 的区别是什么?   LINQ中的延迟执行 

  

 

 

4.集合线程安全

 

 

5.

 

6.

 

posted @ 2023-03-30 09:24  青衫の剑客  阅读(16)  评论(0编辑  收藏  举报