Vishal0903 Ответов: 3

Разделите 2 трубы разделенные строки и назначьте значения


У меня есть 2 строковые переменные, как показано ниже

string name = "Имя|Фамилия" ;
строковое значение = "Vishal|Lamba" ;

Мне нужно назначить имя = "Вишал" и фамилию = "Ламба"

значение и имена в разделенной трубой строке могут динамически увеличиваться

Как я могу сделать это в c# без использования словаря, так как мне нужны все переменные для отдельных операций

Что я уже пробовал:

-------------------------невежественный---------------------------

PIEBALDconsult

Я бы все равно пользовался словарем, не понимаю, почему ты не можешь.
Чего вы на самом деле пытаетесь достичь?

3 Ответов

Рейтинг:
2
Рейтинг:
2

Patrice T

Цитата:
Как я могу сделать это в c# без использования словаря, так как мне нужны все переменные для отдельных операций

Используйте массив для динамического числа подстрок.
Чтобы сделать это, попробуйте разделить строку, как предложил Ричард в S1.


Рейтинг:
2

George Swan

Я не совсем уверен, что вам нужно, но этот пример может быть полезен.


StringBuilder sb = new StringBuilder();
for (int i = 0; i <20; i++)
{
 sb.Append($" F{i}|S{i}");
}
//build a test string where the format is 'forename0|surname0 forename1|surname1 ..'
string testString = sb.ToString().Trim();
//use Linq to get an enumerable of 2 element string arrays 
var names = testString.Split(' ').Select(n => n.Split('|'));
//For ease of use, convert into a named value tuple list 
var tuples = names.Select(n => (n[0], n[1])).ToList<(string ForeName, string SurName)>();
foreach (var t in tuples)
{
 Console.WriteLine($"ForeName= {t.ForeName} SurName= {t.SurName}");
}
Console.ReadLine();