我在我的程序的构造函数的属性/访问器方法中有类似的东西。
using System;
namespace BusinessTrips
{
public class Expense
{
private string paymentMethod;
public Expense()
{
}
public Expense(string pmtMthd)
{
paymentMethod = pmtMthd;
}
//This is where things get problematic
public string PaymentMethod
{
get
{
return paymentMethod;
}
set
{
if (string.IsNullOrWhiteSpace(" "))
paymentMethod = "~~unspecified~~";
else paymentMethod = value;
}
}
}
}
当输入一个新的属性时,对于PaymentMethod,它是null或者是一个空格,这显然是行不通的。有什么想法吗?
最佳答案
您可能只需要将 string.IsNullOrWhiteSpace("")
替换为 string.IsNullOrWhiteSpace(value)
吗?
根据您发布的代码,您需要调用:
this.PaymentMethod = pmtMthd;
代替
paymentMethod = pmtMthd;
大写 p 将使用您的属性而不是直接使用字符串。这就是为什么在访问类变量时使用 this.
是个好主意。在这种情况下,是 大写 而不是 this.
造成了差异,但我会养成使用 this.
的习惯/p>
关于c# - 在 C# 中替换/更改空白或空字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9338870/