Перевести js код в c#

Рейтинг: -1Ответов: 2Опубликовано: 20.01.2015

Есть вот такой код на js, его нужно перенести на c#. Помогите до осуществить задуманное

function errors_code(str){
var result='';
var error=str.split("; ");
for(i in error)
result+=parseInt(error[i].split('x')[0].substr(3),2).toString(10);
return result;
}

str равно

1001011111x0; 1011110101x1; 1101110011x10; 1111100101x11; 1001110010x100; 101101110x101; 1101110011x110; 1111101111x0; 1001100011x1; 1011101001x10; 1101100001x11; 1111101100x100; 100101110x101; 1011110011x110; 1101100101x0; 1111100011x1; 1001110010x10; 1011100101x11; 1101110100x100; 111100000x101; 100111101x110; 101100000x0; 110100100x1; 111101110x10; 1001101101x11; 1011100100x100; 110110101x101; 111101000x110; 1001011111x0; 1011101100x1; 1101101001x10; 1111100010x11; 1001110011x100; 101101110x101; 1101110011x110; 1111111001x0; 1001110011x1; 1011110100x10; 1101100101x11; 1111101101x100; 100101110x101; 1011100001x110; 1101110000x0; 1111110000x1; 100100000x10; 101101011x11; 110100000x100; 111100111x101; 100110101x110; 101110101x0; 1101100001x1; 1111100011x10; 1001100011x11; 101111001x100; 1101100110x101; 111110110x110; 1001100100x0; 1011100110x1; 1101100101x10; 1111100100x11; 100111001x100; 101111001x101; 1101100101x110; 111110001x0; 1001100010x1; 1011100100x10; 110110111x11; 111110001x100; 100110101x101; 101110100x110; 110110101x0; 1111100011x1; 1001100010x10; 101110100x11; 1101100001x100; 1111100001x101; 1001100001x110; 1011100001x0; 110110001x1; 111110100x10; 100100111x11; 101101001x100

Пока вышло только

string function errors_code(str){
string[] texter;
                        string[] stringSeparators = new string[] {"; "};
                        var text_where="";
                        texter = str.Split(stringSeparators, StringSplitOptions.None);
                        for (int i = 0; i < texter.Length; i++)
                        {
                            string[] doer = texter[i].Split('x');
                            text_where = text_where + doer[0].Substring(3).ToString();

                        }
}

Ответы

▲ 2Принят

Вот вам немного LINQ:

string.Join("",
    str.Split("; ").Select(p => Convert.ToUInt32(
                                    p.Split("x")[0].Substring(3), 2)));
▲ 2

Ну и нормально. Два замечания только:

1) используйте StringBuilder в качестве типа для накопителя text_where;

2) используйте опцию StringSplitOptions.RemoveEmptyEntries.