Проблема при настройке файла Delimeter ("\ t") в app.config (C # 3.0) - PullRequest
1 голос
/ 11 июня 2010

В моем файле app.config я сделал настройку, подобную следующей

<add key = "Delimeter" value ="\t"/>  

Теперь при доступе к вышеуказанному из программы с помощью кода ниже

string delimeter = ConfigurationManager.AppSettings["FileDelimeter"].ToString();
StreamWriter streamWriter = null;
streamWriter = new StreamWriter(fs);
 streamWriter.BaseStream.Seek(0, SeekOrigin.End);

 Enumerable
.Range(0, outData.Length)
.ToList().ForEach(i => streamWriter.Write(outData[i].ToString() + delimiter));

streamWriter.WriteLine();
streamWriter.Flush();

Я получаю вывод как

18804\t20100326\t5.59975381254617\t
18804\t20100326\t1.82599797249479\t

Но если я непосредственно использую "\t" в переменной делитера Я получаю правильный вывод

18804   20100326    5.59975381254617    
18804   20100326    1.82599797249479

Я обнаружил, что при указании "\ t" в файле конфигурации и при чтении его в

переменная delimeter, она становится "\\t", что является проблемой.

Я даже пытался, но безуспешно.

Я использую C # 3.0.

Нужна помощь

1 Ответ

2 голосов
/ 11 июня 2010

Вам нужно использовать XML-сущность, представляющую вкладку, которая, как я считаю, &#09;, а не представление C # (которое, как вы уже знаете, "\t").

<add key="Delimeter" value="&#09;"/>

Или вы могли бывсегда просто выбирай легкий путь:

// allow for <add key="Delimeter" value="\t"/>
if (delimiter == @"\t")
    delimiter = "\t";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...