我需要创建一个移动每个后者从两个字符串,并把它带到一个新的字符串结构。例如字符串“世界”串“书”输出“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;
}
}
我不知道这是你想要的,但如果我理解你的权利,你可以做这样的:
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;
}
}
一个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());