Как переместить букву из каждой строки в новую строку, используя struct? - PullRequest
0 голосов
/ 07 февраля 2019

Мне нужно создать структуру, которая переместит каждую последнюю из двух строк и перенесет ее в новую строку.Пример строки "world" string "book" output "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;
    }
}

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Я не уверен, что вы этого хотите, но если я вас правильно понял, вы можете сделать это так:

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;
    }
}
0 голосов
/ 07 февраля 2019

Более простое и наивное решение, чем ответ @ Rango, но может быть более понятным для новичка.

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());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...