这是我的代码:
public static string HDDData()
{
string Timestampy = null, TotalSpace = null, SpaceLeft = null,
PercentageLeft = null;
TotalSpace = GetTotalFreeSpaceGB();
SpaceLeft = GetTotalSpaceGB();
PercentageLeft = GetTotalFreeSpacePercentage();
Timestampy = Timestamp();
var HDD = new HDDFormat
{
TotalSpace = TotalSpace,
SpaceLeft = SpaceLeft,
PercentageLeft = PercentageLeft,
Timestamp = Timestampy
};
return HDD;
}
这是HDDFormat:
public class HDDFormat
{
public string TotalSpace { get; set; }
public string SpaceLeft { get; set; }
public string PercentageLeft { get; set; }
public string Timestamp { get; set; }
}
您获得的数据是正确的字符串。 (.ToString()
也不起作用)
答案 0 :(得分:1)
您必须更改方法的返回类型。不应为string
,而应为HDDFormat
否则,您应制作override
中的ToString
,例如:
public override string ToString()
{
return $"{TotalSpace },{SpaceLeft },{PercentageLeft },{Timestamp }";
}
并像这样使用:
...
return HDD.ToString();
答案 1 :(得分:0)
字符串主要是关于向用户输出Stuff。因此,它完全取决于(G)UI。对于WinForms,WPF / UWP,控制台,ASP.Net,该代码看起来有所不同。
有一个ToString()方法。它在Object中定义,因此是任何类所固有的。默认实现仅显示类名称(YourNamespace.HDDFormat),但是您可以随意覆盖它(请参见Reniuz链接)。但主要是用于字符串转储,主要用于调试/最小化用户界面。
如果这是关于通过XML传输的,那么有适当的属性和梗塞之处。参见Serialisation。
答案 2 :(得分:0)
您的方法HDDData
应该返回一种字符串类型。
但是您将返回类HDDFormat
。
您可以将返回类型更改为HDDFormat
,如下所示:
public static HDDFormat HDDData(){
...
}
或者让您的类继承String
类,如下所示:
public class HDDFormat : String
{
public string TotalSpace { get; set; }
public string SpaceLeft { get; set; }
public string PercentageLeft { get; set; }
public string Timestamp { get; set; }
}
,但是在执行此操作时,您将不得不覆盖一些功能。 最后一种选择是只返回您要访问的特定字符串。
return HDD.PercentageLeft;
我想以
HDDFormat
的形式返回它,但是我仍然需要从中获取数据
然后,您应该使用第一个选项。然后,您可以访问其属性。
HDDFormat myFormat = HDDData();
MessageBox.Show(myFormat.PercentageLeft);
答案 3 :(得分:0)
只需创建一个返回字符串的方法
例如:
using System;
public class Program
{
public static void Main()
{
HDDFormat disk = new HDDFormat();
disk.TotalSpace = "500gb";
disk.SpaceLeft = "120gb";
disk.PercentageLeft = "60%";
disk.Timestamp = "2018-10-11 ";
Console.WriteLine(disk.HDDformat());
}
}
public class HDDFormat
{
public string TotalSpace { get; set; }
public string SpaceLeft { get; set; }
public string PercentageLeft { get; set; }
public string Timestamp { get; set; }
public string HDDformat(){
return TotalSpace + SpaceLeft + PercentageLeft + Timestamp; }
}