C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 在文件中格式化文本表,将每行合并两行大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将一些信息写入文本文件,但第二行在行之间创建空格

代码

private void CreateDriversList()
{
    StreamWriter w = new StreamWriter(contentDirectory + "\\" + "Drivers.txt");
    w.WriteLine("Module Name  Display Name           Driver Type   Link Date");
    w.WriteLine("============ ====================== ============= ======================");
    //Declare,Search,and Get the Properties in Win32_SystemDriver
    System.Management.SELEctQuery query = new System.Management.SELEctQuery("Win32_SystemDriver");
    System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query);
    foreach (System.Management.ManagementObject ManageObject in searcher.Get())
    {
        w.WriteLine(ManageObject["Name"].ToString());
        w.WriteLine("             " + ManageObject["DisplayName"].ToString());
    }
    w.Close();
}

一旦我添加了这条线:

w.WriteLine("             " + ManageObject["DisplayName"].ToString());

文本文件中的结果如下:

@H_192_9@module Name Display Name Driver Type Link Date ============ ====================== ============= ====================== 1394ohci 1394 OHCI Compliant Host Controller 3ware 3ware ACPI Microsoft ACPI Driver acpiex Microsoft ACPIEx Driver acpipagr

在我添加行之前,文本文件是这样的

@H_192_9@module Name Display Name Driver Type Link Date ============ ====================== ============= ====================== 1394ohci 3ware ACPI acpiex acpipagr AcpiPmi

我只是想现在添加显示名称行,所以我添加了空格,因此行将在显示名称下开始,然后在行之间添加空格.

我怎么解决呢?

**

最后,文本文件应如下所示:

@H_192_9@module Name Display Name Driver Type Link Date ============ ====================== ============= ====================== 1394ohci 1394 OHCI Compliant Ho Kernel 7/26/2012 5:26:46 AM 3ware 3ware Kernel 3/8/2012 10:33:45 PM ACPI Microsoft ACPI Driver Kernel 9/20/2012 9:09:16 AM acpiex Microsoft ACPIEx Drive Kernel 7/26/2012 5:25:57 AM acpipagr ACPI Processor Aggrega Kernel 7/26/2012 5:27:16 AM AcpiPmi ACPI Power Meter Drive Kernel 7/26/2012 5:27:33 AM acpitime ACPI Wake Alarm Driver Kernel 7/26/2012 5:27:37 AM

并在显示名称行中,也可能在moudle名称行中,以确保名称将在一行全名.

例如,在显示名称中:1394 OHCI Compliant Ho
应该是:1394 OHCI兼容主机控制器

**

@H_192_9@module Name Display Name Driver Type Link Date ============ ====================== ============= ====================== 1394ohci 1394 OHCI Compliant Host Controller 3ware 3ware ACPI Microsoft ACPI Driver acpiex Microsoft ACPIEx Driver acpipagr ACPI Processor Aggregator Driver AcpiPmi ACPI Power Meter Driver

解决方法

你已经在循环中调用了WriteLine两次 – 所以它为每个项添加了两行.您只想添加一行,例如

w.WriteLine("{0} {1}",ManageObject["Name"],ManageObject["DisplayName"]);

这不会填充空格,所以你需要在composite format string中包含一个对齐方面.你想要左边填充,所以你需要一个负对齐,看起来你想在空格前有12个字符,所以:

w.WriteLine("{0,-12} {1}",ManageObject["DisplayName"]);

大佬总结

以上是大佬教程为你收集整理的c# – 在文件中格式化文本表,将每行合并两行全部内容,希望文章能够帮你解决c# – 在文件中格式化文本表,将每行合并两行所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。