русский
Germany.ruForen → Архив Досок→ Programmierung

опять проблемка в C#

26.11.17 01:35
Re: опять проблемка в C#
 
  moose старожил
in Antwort beautiful_man 25.11.17 12:25, Zuletzt geändert 26.11.17 01:41 (moose)

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


string str = "GENERATORS DRIVE DISCONNECT switches GUARD CLOSED,laminar/B738/one_way_switch/drive_disconnect1_pos, 0,laminar/B738/one_way_switch/drive_disconnect2_pos, 0,laminar/B738/button_switch/cover_position[4], 0,laminar/B738/button_switch/cover_position[5], 0";
string[] lines = str.Split(',');
if (lines.Length > 0 && lines.Length%2 == 1) {
___string separate_item = lines[0];
___//и делаем с эти separate_item что надо (в чекбокс? вы в курсе)
___var query = lines.Skip(1).Select((x, i) => new { Index = i, Value = x }).GroupBy(x => x.Index / 2).Select(x => x.Select(v => v.Value).ToArray()).ToList();
___foreach (string[] pair in query) {
______string first = pair[0];
______string second = pair[1];
______// и получаете здесь в first - вашу "команду", а в second - число, которое вы знаете, что означает. распоряжаетесь как знаете
___}
}

гуры, наверное, против, чтобы вам смотреть такой код, но это 100% сработает. захотите понять как - почитаете книжки. если хотите освоить c#, то без linq, lambda expression и прочего как можно обойтись? привыкайте : )

 

Sprung zu