1.通过C#程序输出tab(制表符)内容。
1.1常用方式我们可以是
//测试输出\t到文件 File.WriteAllText("test.txt", "a\tb\tc");
结果是:
1.2 \u0009输出
当然,如果我们不想要通过\t来设置,我们就可以通过ascii码来设置,tab的asscii码是9,可以通过\u0009输出,所以可以修改如下:
//测试输出\t到文件 File.WriteAllText("test.txt", "a\tb\tc\u0009d");
结果:
我们可以看到,效果是一样的。
1.3 通过char转换输出
还有一种方式就是通过ascii码来转换的方式输出,C#代码如下:
char a = (char)9; //测试输出\t到文件 File.WriteAllText("test.txt", "a\tb\tc\u0009d" + a + "e");
结果:
整数的9就是tab的ascii码
常用的asscii码如下:
2.从xml文件读取制表符数据
xml配置文件如下:
<?xml version="1.0" encoding="utf-8" ?> <config> <split>\t</split> </config>
然后我们读取xml文件中的\t,然后再组装输出,代码如下:
XElement config = XElement.Load("tab.txt"); string split = config.Element("split").Value; string result = ""; for (int i = 0; i < 4; i++) { result += i + split; } File.WriteAllText("test.txt", result);
输出结果如下:
明显不是我们想要的效果,那么我们只需要把\t修改为:
<?xml version="1.0" encoding="utf-8" ?> <config> <split s="	"></split> </config>
修改程序代码如下:
XElement config = XElement.Load("tab.txt"); string split = config.Element("split").Value; split = config.Element("split").Attribute("s").Value; string result = ""; for (int i = 0; i < 4; i++) { result += i + split; } File.WriteAllText("test.txt", result);
于是结果就是:
ascii码的对应如下:
注意:
1.	配置到节点里面不能解析,只能配到属性attribute中
2.或者就只能读取到之后将\\t替换成\t,这样也能解决问题。
3.直接放到记事本里面也是不能解析的。
4.如果	不能识别,可以修改为