char 与 string 互转 byte与string互转 list<string>与string[]互转 char与byte互转
class Program
{
static void Main(string[] args)
{
//string类型到数组 char[]数组
string str1 = "123";
string str2 = "abc";
string str3 = "表示表示";
char[] ch1= str1.ToCharArray();
char[] ch2 = str2.ToCharArray();
char[] ch3 = str3.ToCharArray();
//char[]数组到string类型
foreach(var x in ch3)
Console.WriteLine(x);//表 示 表 示
char[]ca1=new char[]{'1','表','中'};
string cs = new string(ca1);
Console.WriteLine(cs);//1表中
//string类型到数组 byte[]数组
byte[] by1 = Encoding.UTF8.GetBytes(str1);
byte[] by2 = Encoding.UTF8.GetBytes(str2);
byte[] by3 = Encoding.UTF8.GetBytes(str3);
foreach(var xx in by3)
Console.Write(xx + " ");//232 161 168 231 164 186 232 161 168 231 164 186 utf-8中字符占3字节
// byte[]数组到string类型
byte[] ba1 = new byte[] { 11,22,33};
// string bs = new string(ba1);//编译报错 无byte数组构造函数
string bs = Encoding.Default.GetString(ba1);//系统默认编码
Console.WriteLine(bs);//输出 ..! byte->ascll码的char->string
//char和byte char占两字节 可存汉字 byte为一字节 在C#中大小为[1,255]之中 否则编译报错
char c1='表';
// byte b1 = "1";//编译出错
// byte b2 = -1;//编译出错
byte b3 = 0;
byte b4 = 255;
// byte b5 = 256;//编译出错
Console.WriteLine("\n"+b4);//255
Console.WriteLine("\n" + c1);//表
//char 和 byte转换时 char->byte会转成数字 byte->char会转成ascll字符 下面的结果是在 日文系统下的输出结果 怎么算的未知 先搁着
char c2 = (char)b4;
Console.WriteLine(c2);//c2=255输出 y
byte b6 = (byte)c1;
Console.WriteLine(b6);//104
//string 数组到list<string>
string[]sa1=new string[]{"aaa","bbb","333"};
List<string> ls1 = new List<string>(sa1);
Console.WriteLine(ls1.Count);//结果为 3
//list<string>到 数组string
List<string> ls2 = new List<string>();
ls2.AddRange(new string[]{"123","234","345"});
string[] sa2 = ls2.ToArray();
Console.WriteLine(sa2.Length);//结果为 3
Console.Read();
}
}
补充: string str = "1234";
char[]cs= str.ToArray();//将str看成一个char的集合 类似List<string>ls=new List<string>{new string{"123","abc","vvv"}}; ls.toArray()
foreach (var item in cs)
{
Console.Write(item);//1,2,3,4,
}
string cv = "11223344567";
string[] nstr= cv.Split(str.ToArray());
Console.WriteLine("new array length:" + nstr.Length);//9 【1】【2】【3】【4】【1】【2】【3】【4】【567】
foreach (var items in nstr)
{
Console.Write(items);//输出567
}
Console.Read();
char 与 string 互转 byte与string互转 list<string>与string[]互转 char与byte互转的更多相关文章
- java中String是对象还是类?详解java中的String
有很多人搞不懂对象和类的定义.比如说java中String到底是对象还是类呢? 有人说String 既可以说是类,也可以说是对象. 其实他这么说也没问题, 类和对象其实都是一个抽象的概念. 我们可以把 ...
- Java String类相关知识梳理(含字符串常量池(String Pool)知识)
目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(S ...
- go语言byte类型报错cannot use "c" (type string) as type byte in assignment
练习Go修改字符串的时候遇到这个问题:cannot use "c" (type string) as type byte in assignment,代码如下: package m ...
- android switch(String)错误:Cannot switch on a value of type String for source level below 1.7
switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型只有JDK版本1.7以上才可以支持String 设置如下可解决问题:(若没有JDK1.7版,可下载一下安装)菜 ...
- python string写入二进制文件——直接wb形式open file,再write string即可
4 down vote accepted You misunderstood what \xhh does in Python strings. Using \x notation in Python ...
- c++中string类型用下标初始化后str.size()为0 输出string值为空
你的string list是个默认构造函数,这样就没有为list分配空间,自然list[i]就会报出超出string范围的错误,可以简单更改为string list(6, '\0'),事先为list指 ...
- string转数组, 数组转ist, list转数组, 数组转string
private string OrderBonds(string bonds) { string[] lists = bonds.Split(','); List<string> newL ...
- String str = new String("abc"),这段代码一共生成了几个String对象?为什么?
String str = new String("abc")创建了俩个对象,首先为创建一个String对象"abc",然后在调用String类的构造方法时 pu ...
- ByteBuffer: 当由一个byte[]来生成一个固定不变的ByteBuffer时,使用ByteBuffer.wrap(byte[]);
StringBuilder sb = new StringBuilder(1024); //向sb中写入900个左右的随机字符内容 for(int j=1; j< 50;j++) { sb.ap ...
- 对bit、byte、TByte、Char、string、进制的认识
在学校老师就教1byte = 8bit,一个Byte在内存中占8个房间.每个房间都有门牌号.找到内存中的内容就找门牌号,寻址什么的,虽然在听,但是脑袋里一头雾水,到现在只知道会用就行,但原理也不是那么 ...
随机推荐
- 生物标记钙卫蛋白在RA诊疗中的应用研究
标签: 类风湿关节炎; 预测因子; 钙卫蛋白; S100A9 [文献摘记]生物标记钙卫蛋白在RA诊疗中的应用研究 电邮发布日期:2016年4月20日 不断提升精确度和应用范围的组学技术正在帮助包括类风 ...
- CSS:linear-gradient()背景颜色渐变
css语法 background: linear-gradient(direction,color-stop1,color-stop2,...); direction:用角度值指定渐变的方向(或角度) ...
- Spring cloud Alibaba Nacos服务注册发现和配置中心
Nacos(官方网站:http://nacos.io)是一个易于使用的平台,旨在用于动态服务发现,配置和服务管理.它可以帮助您轻松构建云本机应用程序和微服务平台. Nacos = Eureka + c ...
- Vue scoped样式
scoped样式: 作用:让样式在局部生效,防止冲突 写法:<style scoped>
- 安装ElasticSearch7.6.2使用自带JDK
平时用jdk8,但运行es7无法启动.在elasticsearch7以上的版本中会自带jdk.需要修改elasticsearch-env配置文件,就可以使用自带jdk版本,不影响其他java项目. w ...
- SAP SMARTFORMS World格式白屏
解决方法: SE38 RSCPSETEDITOR 不勾选SAP script 和智能表
- html音乐播放器
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- javaWeb学习一
web开发(web就是网页): 静态web html.css 提供给所有人看到数据不会改变 动态web 提供给所有人看到数据会改变,不同用户.不同时间和地点都会不同 技术栈:Servlet/JSP,A ...
- Vue中qrcode的使用方法(生成二维码插件) / 前端页面根据URL链接生成二维码
1.下载 npm install qrcode --save-dev 2.引入(在所需要的页面中引入) import QRCode from "qrcode"; //引入生成二维码 ...
- C# 海康威视网络半球摄像头回调YV12取画面
海康网络摄像头回调取画面,网口最好用千兆的网卡来做,开始用笔记本的百兆网口,不管怎么优化都是卡顿的, 后来用千兆网卡台式机的,基本就没有卡顿了,取图再加上运动检测处理,基本上十几毫秒每帧. 用回调方式 ...