如何将每个字符串信使用结构一个新的字符串?

问题描述 投票:-1回答:2

我需要创建一个移动每个后者从两个字符串,并把它带到一个新的字符串结构。例如字符串“世界”串“书”输出“wboorolkd”我打造的结构,但我做什么我不能得到的输出这里

我是新来的C#

using System.Text;
using System.Threading.Tasks;

namespace myprogram_Struct
{
    class Program
    { 
        static void Main(string[] args)
    {
        Person person1 = new Person();
        Console.WriteLine(person1.name);
        person1.SetName("david");
        Console.WriteLine(person1.name);
        Person person2 = new Person("sarah");
        Console.WriteLine(person2.name);
        Console.ReadKey();

    }
    }
}
public struct Person
{

    public string name;
    public Person(string nm)
    {
        name = nm;
    }

    public void SetName(string newName)
    {
        name = newName;
    }
}
c# arrays string class struct
2个回答
1
投票

我不知道这是你想要的,但如果我理解你的权利,你可以做这样的:

public struct Person
{
    public string name1;
    public string name2;

    public string merge()
    {
        string retval = "";

        int length = name1.Length;

        if (length < name2.Length)
            length = name2.Length;

        for(int i = 0; i < length; i++)
        {
            if (name1.Length > i)
                retval += name1[i];

            if (name2.Length > i)
                retval += name2[i];
        }

        return retval;
    }
}

3
投票

一个wordier和比较幼稚的解决方案比@兰戈的答案,但可能对于初学者更加清晰。

string a = "abc";
string b = "defxyz";
StringBuilder sb = new StringBuilder();
int max = Math.Max(a.Length, b.Length);
for (int i = 0; i < max; i++)
{
    if (i < a.Length)
    {
        sb.Append(a[i]);
    }
    if (i < b.Length)
    {
        sb.Append(b[i]);
    }
}
Console.WriteLine(sb.ToString());
© www.soinside.com 2019 - 2024. All rights reserved.