当前位置:编程学习 > C#/ASP.NET >>

这样字符串如何加入数组

--------------------编程问答--------------------

string str = "02,03,10,12";

            string[] TailValue = str.Split(',');

            int[] arr = new int[TailValue.Length];

            for (int i = 0; i < TailValue.Length; i++)
            {
                arr[i] = int.Parse(TailValue[i]);
            }

            for (int i = 0; i < arr.Length; i++)
            {
                Console.WriteLine(arr[i].ToString());
            }

            Console.ReadKey();


效果是LZ想要的效果 代码LZ可以优化下 --------------------编程问答-------------------- 用string.TrimStart方法即可:
		string str = "02,03,10,12";
string[] TailValue = str.Split(',').Select(x => x.TrimStart('0')).ToArray();
foreach (string value in TailValue)
Console.WriteLine(value);

2
3
10
12
--------------------编程问答--------------------

引用 1 楼 ducker3590 的回复:


这是转换成了int类型来实现,但我要保留是string类型,又该如何呢? --------------------编程问答-------------------- string str = "02,03,10,12";
string[] TailValue = str.Split(',').Select(x => Convert.ToInt32(x).ToString()).ToArray();
TailValue.ToList().ForEach(x=>Console.WriteLine(x)); --------------------编程问答--------------------
引用 3 楼 cpfxs 的回复:
引用 1 楼 ducker3590 的回复:

这是转换成了int类型来实现,但我要保留是string类型,又该如何呢?

2#正解 --------------------编程问答-------------------- 把00这种也考虑进去:
		string str = "02,03,10,12,00";
string[] TailValue = str.Split(',').Select(x => x.TrimStart('0').PadLeft(1, '0')).ToArray();
foreach (string value in TailValue)
Console.WriteLine(value);

2
3
10
12
0
--------------------编程问答-------------------- 如果数据都是数字的话。那么就先转换成数字,再ToString一下。就可以了。 --------------------编程问答--------------------             string str11111 = "02,03,10,12";
            string[] strArray = str11111.Split(',');
            for (int i = 0; i < strArray.Length;i++ )
            {
                strArray[i] = int.Parse(strArray[i]).ToString();
            } --------------------编程问答-------------------- 像这个只能自己想办法解决,办法很多,可以直接处理数组,也可以使用时处理,楼上都可以.
还有一个比较有意思的办法,写出来大家笑笑,开心一乐十年少,新春快乐!

string str = "02,03,10,12";
       str.Replace("01", "1").Replace("02", "2")......;
       string[] TailValue = str.Split(',');//用上行到这里为止.否则可用下行也可.^_^
            int a = 0;
            foreach (string 元素 in TailValue) { TailValue[a] = int.Parse(元素).ToString(); a++; }
--------------------编程问答-------------------- 继续找乐:
拿出来用时可:

            if (TailValue[0].IndexOf("0") == 0)
                TailValue[0] = TailValue[0].Substring(1, 1);
            if (TailValue[0].IndexOf("0") == 0)
                TailValue[0] = TailValue[0].Replace("0", "");
            TailValue[0] = int.Parse(TailValue[0]).ToString();
--------------------编程问答-------------------- 转换为int型,你的需求应该是取有效数据,01-1,001-1,0001-1 吧 --------------------编程问答-------------------- 楼主很多人都给你回复了,而且看着都管用,我就不献丑了 --------------------编程问答--------------------
string[] arr = str.Split(',').Select(s => Regex.Replace(s, "^0+", "")).ToArray();
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,