Невозможно объединить строку в C # - PullRequest
0 голосов
/ 04 мая 2018

У меня есть код для чтения блока данных внутри карты MIFARE.

Метод rfidM1.ReadDataFromCardM1 будет читать блок и возвращать значение в string.

string memQuery = string.Empty;
int i = 0, j = 0;
sector = 4;
block = 4;

for (i = 0; i < block; i++)
{
    for (j = 0; j < sector; j++)
    {                  
        memQuery += rfidM1.ReadDataFromCardM1(Convert.ToByte(j), Convert.ToByte(i), _Key1) + ",";
    }
}          

Мое намерение заключать в кавычки memQuery. Пример вывода здесь:

,0,,,,,True,,C0-12320,0,,,,,,

Я констатирую memQuery различными способами, например, используя +=, StringBuilder или ArrayList, но они не работают, потому что он всегда имеет такой вывод, когда я помещаю его в MessageBox.

,0

После этого похоже, что строка 0 не может соответствовать другой строке после нее. Почему?

1 Ответ

0 голосов
/ 04 мая 2018

Мое намерение заключить в memQuery запятую

Ну, сначала избавьтесь от ArrayList и замените его на var memQuery = new List<string>();.

Внутри ваших циклов for решите, что делать с нулевыми или пустыми результатами. Добавить null или пропустить Добавить или ...

И тогда, когда memQuery заполнен правильно, вы можете сделать

 string result = string.Join(",", memQuery);

string.Join() может обрабатывать null с во входной последовательности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...