gpt4 book ai didi

c# - 在 C# 中设置对象的默认值 `String`

转载 作者:太空狗 更新时间:2023-10-29 22:26:22 26 4
gpt4 key购买 nike

我对 C# 比较陌生,所以默认值的概念让我有些困惑。

我目前有一个包含两个 String 值的对象,serialNumberfullPath。它是一个简单的对象,只包含这两个字符串和各自的 getter 方法(它们在对象创建后不会更改;因此没有 setter 方法)。

我想将这些对象的列表放入 CheckedListBox 中。我希望盒子只显示序列号而不是完整路径。 According to MSDN , CheckedListBox 使用对象的默认字符串值。创建对象时如何将其设置为 serialNumber?同样,之后不应更改它。另外,我不太喜欢 getset 关键字(我来自 Java 背景),所以如果可能的话,我想这样做出于代码可读性的目的,使用更传统的 getter/setter,正如我在下面所做的那样。

class ModuleData
{

private String serialNumber;
private String fullPath;


public ModuleData(String serialNumber, String fullPath)
{
this.serialNumber = serialNumber;
this.fullPath = fullPath;
}

public String getSerialNumber()
{
return serialNumber;
}

public String getFullPath()
{
return fullPath;
}

public String toString()
{
return serialNumber;
}

public String DefaultValue
{
return serialNumber;
}

}

最佳答案

stringString 的默认值,default(string) , 是 null,但这不是文档所指的内容。它引用对象的 ToString() 值,which you can override .

尝试这样的事情,使用真正的 C# 约定(看看它的可读性如何!),同时注意 override keyword :

public class ModuleData
{
public ModuleData(string serialNumber, string fullPath)
{
SerialNumber = serialNumber;
FullPath = fullPath;
}

public string SerialNumber { get; private set; }

public string FullPath { get; private set; }

public override string ToString()
{
return SerialNumber;
}
}

关于c# - 在 C# 中设置对象的默认值 `String`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24409056/

26 4 0
文章推荐: c# - 是否可以将包含 List 的 List 绑定(bind)到 DataGrid