У меня есть ListBox userOptions
типа объекта дает мне результат, каккак разделить массив строк после того, как фиксированной длины
{ Number = 1, FName = "ABC", LName = "D" }
{ Number = 2, FName = "EFG", LName = "E" }
{ Number = 3, FName = "HIJ", LName = "F" }
{ Number = 4, FName = "ABC", LName = "G" }
и нужно хранить в виде массива строк только FName
информация, как
string[] data = new string[3];
string data[0]=ABC
string data[1]=EFG
string data[2]=HIJ
Также удалять дубликаты данных из FName;
Я попытался с помощью следующего кода, но это отнимает много времени, как я не могу разделить данные строки массива из FName = "ABC"
просто 'ABC'
for (int i = 0; i < userOptions.Count; i++)
{
foreach (object items in userOptions)
{
devicedata = userOptions[i].ToString();
string[] Arr = devicedata .Split(',');
devdata[i] = Arr[1];
}
}
здесь devicedata
дает мне эту информацию { Number = 1, FName = "ABC", LName = "D" }
Arr
разбивает данные как FName = "ABC"
и сохраняет в devdata[i]
Как я могу объединить мой код выше двух, чтобы я мог напрямую получать отдельные данные, такие как
string data[0]= ABC
string data[1]= EFG
string data[2]= HIJ
Весь код потребляет время и до тех пор, как эти цифры ниже 1000 не может быть действительно актуальной. –
Кажется, вам нужен 'var result = userOptions.Select (s => s.FName) .Distinct(). ToArray();' –
@ WiktorStribiżew: это должно быть дано в качестве ответа. Вероятно, это самый краткий способ решения проблемы. –