Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将[x]和[x+;1]放入字符串,然后跳到[x+;2]_C#_Arraylist - Fatal编程技术网

C# 如何将[x]和[x+;1]放入字符串,然后跳到[x+;2]

C# 如何将[x]和[x+;1]放入字符串,然后跳到[x+;2],c#,arraylist,C#,Arraylist,投入:1;A.2.B3.C4.D5.E6.f 我得到的输出:1a;a2;b3;补体第四成份;d5;e6 我想要的输出:1a;2b;3c;4d;5e;6f 我知道这是一件简单的事情,但我就是不知道该怎么做 这是我的密码: for (int x = 0; x < coll.Count; x++) { if (x == 0) { line.Append(coll[x].ToString());

投入:1;A.2.B3.C4.D5.E6.f

我得到的输出:1a;a2;b3;补体第四成份;d5;e6

我想要的输出:1a;2b;3c;4d;5e;6f

我知道这是一件简单的事情,但我就是不知道该怎么做

这是我的密码:

 for (int x = 0; x < coll.Count; x++)
        {
            if (x == 0)
            {
                line.Append(coll[x].ToString());
                line.AppendLine(coll[x + 1].ToString());
            }
            else
            {

                if (x % 2 == 0)
                {

                }
                else
                {
                    try
                    {
                        line.Append(coll[x].ToString());
                        line.AppendLine(coll[x + 1].ToString());
                        x++;
                        textBox1.Text = line.ToString();
                    }
                    catch { }
                }
            }
for(int x=0;x
如果你的列表像=[1,a,2,b,3,c,4,d,5,e,6,f] 试试这个

String line = "";
for(int i=0;i<list.size();i+2){
  line += list.get(i)+list.get(i+1);      
}
  textBox1.Text = line;
字符串行=”;

对于(inti=0;i如果你的列表像=[1,a,2,b,3,c,4,d,5,e,6,f] 试试这个

String line = "";
for(int i=0;i<list.size();i+2){
  line += list.get(i)+list.get(i+1);      
}
  textBox1.Text = line;
字符串行=”;

对于(inti=0;i如果您想保持代码的原样(我假设某些内容将在空条件下进行),那么您只需要将
If(x%2==0)
更改为
If(x%2!=0)
(或者同样
If(x%2==1)
),因为您的代码当前在i=0时追加到行,然后是1,3,…即所有奇数编号的索引,而您需要在所有偶数编号的索引处追加到行


(不幸的是,我无法编辑您的问题,但是如果您只是在以
开头的行前面加上四个空格,那么它的格式应该正确。)

如果您想保持代码的原样(我假设某些内容将以空条件出现),那么您只需要更改
if(x%2==0)
如果(x%2!=0)
(或者同样
如果(x%2==1)
),因为当i=0时,您的代码当前正在追加到行,然后是1,3,…即所有奇数编号的索引,而您需要在所有偶数编号的索引处追加到行

(遗憾的是,我无法编辑您的问题,但如果您只需在以
开头的行前面插入四个空格,则应正确设置格式。)

带LINQ的单行代码(但效率不高):

使用LINQ的单行代码(但效率不高):


另一个LINQy解决方案:

string input = "1;a;2;b;3;c;4;d;5;e;6;f";

var split = input.Split(';');

string rejoined = String.Join(";", Pairs(split));
其中
成对

IEnumerable<string> Pairs(IEnumerable<string> strings)
{
    if (strings.Take(1).Count() == 0)
    {
        return new string[]{};
    }
    return new [] {String.Join("", strings.Take(2))}.Concat(Pairs(strings.Skip(2)));
}
IEnumerable对(IEnumerable字符串)
{
if(strings.Take(1.Count()==0)
{
返回新字符串[]{};
}
返回新的[]{String.Join(“,strings.Take(2))}.Concat(Pairs(strings.Skip(2)));
}

另一个LINQy解决方案:

string input = "1;a;2;b;3;c;4;d;5;e;6;f";

var split = input.Split(';');

string rejoined = String.Join(";", Pairs(split));
其中
成对

IEnumerable<string> Pairs(IEnumerable<string> strings)
{
    if (strings.Take(1).Count() == 0)
    {
        return new string[]{};
    }
    return new [] {String.Join("", strings.Take(2))}.Concat(Pairs(strings.Skip(2)));
}
IEnumerable对(IEnumerable字符串)
{
if(strings.Take(1.Count()==0)
{
返回新字符串[]{};
}
返回新的[]{String.Join(“,strings.Take(2))}.Concat(Pairs(strings.Skip(2)));
}

原来我只需要将(x%2==0)更改为(x%2!=0)…该死的事情原来我只需要将(x%2==0)更改为(x%2!=0)…该死的事情显然标记已经编辑过,
.size()
.get(I)
我认为是java吗?如果你将
.size()
替换为
.Count
.get(I)
,应该没问题。哦,循环迭代器变量应该有
i+=2
,而不仅仅是
i+2
。它是java或者我打算写java:)。我在这里写的,不是在IDE中。谢谢你的注意:)显然标记已经编辑过,
.size()
.get(i)
我认为是java吗?如果将
.size()
替换为
.Count
并将
.get(I)
替换为
[I]
,应该没问题。哦,循环迭代器变量应该有
i+=2
,而不仅仅是
i+2
。它是java或者我打算写java:)。我在这里写的,不是在IDE中。谢谢你的关注:)(仅供参考)你不需要调用
ToArray()
,作为
String.Join
使用
IEnumerable
。至少在.NET4中是这样。@Matt Ellen:正如你所看到的,我在
Join
方法中使用
结果
IEnumerable
。将
添加到数组中告诉OP我们可以将其转换为数组……对不起,我完全错过了这个!(仅供参考)您不需要调用
ToArray()
,作为
String.Join
使用
IEnumerable
。至少在.NET4中是这样。@Matt Ellen:正如你所看到的,我在
Join
方法中使用
结果
IEnumerable
。将
添加到数组中告诉OP我们可以将其转换为数组……对不起,我完全错过了这个!