我有一个消耗Memorystream并写入文本文件的API。我有使用制表符分隔符的字符串转换为内存流,我不得不使用编码代码页850将其转换为MS DOS样式的txt文件。我曾尝试使用\ t字符,但它被视为文字
string fieldDelimiter = @"\t";
var dataBuilder = new StringBuilder();
dataBuilder.Append(Field1);
dataBuilder.Append(fieldDelimiter);
dataBuilder.Append(Field2);
var stream = MemoryStream(Encoding.GetEncoding(850).GetBytes(dataBuilder.ToString()));
// API call to persist Stream to txt file.
在这种情况下,获取制表符分隔符的正确方法是什么。
答案 0 :(得分:2)
@
符号指示CLR按字面解释以下字符串,忽略其他转义字符。换句话说,考虑以下因素:
const fieldDelimiter1 = @"\t";
const fieldDelimiter2 = "\\t";
fieldDelimiter1==fieldDelimiter2
将评估为true
。
如L.B所述。放下@
,您将获得所需的结果。