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互转的更多相关文章

  1. java中String是对象还是类?详解java中的String

    有很多人搞不懂对象和类的定义.比如说java中String到底是对象还是类呢? 有人说String 既可以说是类,也可以说是对象. 其实他这么说也没问题, 类和对象其实都是一个抽象的概念. 我们可以把 ...

  2. Java String类相关知识梳理(含字符串常量池(String Pool)知识)

    目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(S ...

  3. 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 ...

  4. 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版,可下载一下安装)菜 ...

  5. python string写入二进制文件——直接wb形式open file,再write string即可

    4 down vote accepted You misunderstood what \xhh does in Python strings. Using \x notation in Python ...

  6. c++中string类型用下标初始化后str.size()为0 输出string值为空

    你的string list是个默认构造函数,这样就没有为list分配空间,自然list[i]就会报出超出string范围的错误,可以简单更改为string list(6, '\0'),事先为list指 ...

  7. string转数组, 数组转ist, list转数组, 数组转string

    private string OrderBonds(string bonds) { string[] lists = bonds.Split(','); List<string> newL ...

  8. String str = new String("abc"),这段代码一共生成了几个String对象?为什么?

    String str = new String("abc")创建了俩个对象,首先为创建一个String对象"abc",然后在调用String类的构造方法时 pu ...

  9. ByteBuffer: 当由一个byte[]来生成一个固定不变的ByteBuffer时,使用ByteBuffer.wrap(byte[]);

    StringBuilder sb = new StringBuilder(1024); //向sb中写入900个左右的随机字符内容 for(int j=1; j< 50;j++) { sb.ap ...

  10. 对bit、byte、TByte、Char、string、进制的认识

    在学校老师就教1byte = 8bit,一个Byte在内存中占8个房间.每个房间都有门牌号.找到内存中的内容就找门牌号,寻址什么的,虽然在听,但是脑袋里一头雾水,到现在只知道会用就行,但原理也不是那么 ...

随机推荐

  1. .NET 8 预览版 1:NativeAOT 升级和新的Blazor United

    .NET团队 今天在官方博客上 发布了.NET 8的第一个预览版,.NET 8 是一个长期支持 (LTS) 版本[1],.NET 的版本包括产品.库.运行时和工具,是 Microsoft 内部和外部多 ...

  2. 跳板攻击之:Socks 代理转发

    跳板攻击之:Socks 代理转发 目录 跳板攻击之:Socks 代理转发 1 Socks 代理转发原理 2 实验环境 2.1 客户端配置 2.2 服务端配置 2.3 利用 Socks 代理扫描内网主机 ...

  3. IO相关了解

    1.IO的概念 IO简单来讲就是对输入输出设备的简化表达形式 单片机中各种接口,进行数据流的传输 从磁盘中读取数据至内存,又或者从内存中写入磁盘 编程中的IO 此时的IO其应用程序的运行态,即进程-- ...

  4. Oracle存储过程的创建实例和调用实例

    --编写一个存储过程,给emp表中添加数据.  --方法一:create or replace procedure add_employee(       eno number,       name ...

  5. jquery获得标签元素

    一.根据元素name值获取元素 $("元素[name="name的值"]"); 例子:1.$("a[name="apoint"]& ...

  6. C++ MFC字符转换

    创建Win32 空项目 字符说明:国外 1个字符对应1个字节   多字节 中文  1个字符对应对个字节  宽字节   Unicode  utf-8  3个   GBK  2个 多字节转为 宽字节    ...

  7. php 实现CURL请求接口

    $ch = curl_init (); //初始化 @curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 @curl_setopt($ ...

  8. iOS 制作一个动态库

    方式一 1.新建一个framework  命名为test 2.将build archive architecture only  改成  NO 3.将Mach-O Type 改成 static Lib ...

  9. Appium获取元素坐标

    文章转自:https://www.cnblogs.com/lfr0123/p/13686769.html appium做app自动化测试过程中,有时需要获取控件元素的坐标进行滑动操作.appium中提 ...

  10. JavaSE——this关键字

    this修饰的变量用于指代成员变量,其主要作用是(区分局部变量和成员变量的重名问题) 方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量 方法的形参没有与成员变量同名,不带 ...