c# - 验证字符串是否为空或为空
问题描述
我想事先检查一个变量,看看它是空的还是空的。如果为null或为空,则应采用我定义的字符串。我的代码:
public string Ergebnis { get; set; }
public string Stufe { get; set; }
public string Niveau { get; set; }
public string Note { get; set; }
public DateTime? Datum { get; set; }
和功能:
public void EndEdit()
{
var newdate = Convert.ToDateTime(Datum).ToShortDateString();
var client = new RestClient("MYDOMAIN");
var request = new RestRequest("SOME THINGS", Method.POST)
.AddUrlSegment("name", Name)
.AddUrlSegment("kompetenzID", KompetenzID)
.AddUrlSegment("ergebnis", Ergebnis)
.AddUrlSegment("stufe", Stufe)
.AddUrlSegment("niveau", Niveau)
.AddUrlSegment("note", Note)
.AddUrlSegment("datum", newdate)
.AddUrlSegment("kuerzel", Kuerzel)
.AddUrlSegment("background", Background)
.AddHeader("Authorization", "Bearer " + ViewFingerPrint);
IRestResponse restResponse = client.Execute(request);
if (restResponse.StatusCode == HttpStatusCode.BadRequest)
{
MessageBox.Show("Der SuS ist nicht in der Datenbank vorhanden.");
}
else
{
}
}
我想我可以用 if 语句来做到这一点。但是,我的函数无法识别该变量。我的代码:
if (string.IsNullOrEmpty(Ergebnis))
{
string Ergenisneu = "-";
} else
{
string Ergebnisneu = Ergebnis;
}
如果我在这里插入结果:
.AddUrlSegment("ergebnis", Ergebnis)
它不识别该变量并说:该变量从未使用过。我怎么能告诉变量它有一个空字符串?
同样的事情发生在这个变体中:
if (string.IsNullOrEmpty (Ergebnis))
string Ergebnis= "-";
解决方案
问题是你Ergebnis
在 if 语句中重新声明了变量,你不应该这样做,因为它会在不同的范围内创建另一个具有相同名称的变量。然后发生的事情是您正在为该新变量分配一个值,但它从未被使用。这是你应该做的:
if (string.IsNullOrEmpty(Ergebnis))
{
Ergebnis = "-";
}
推荐阅读
- azure - 从 Azure 成本中心获取数据
- css - 为什么“Live Sass Compiler”扩展正在编译所有 sass 文件?
- dotnetnuke - DNN + uploadcare + prerender.io
- jquery - ActiveX 控件不适用于在 VB.Net 项目中创建的 Edge 和 Chrome 浏览器
- c# - 单例服务中的多个上下文
- amazon-web-services - 是什么限制了我的 EC2 节点之间的网络带宽?
- django - 如何在注册表格django中添加带有sqlite中组的组合框
- python - 如果 URL 的查询字符串具有多值参数,例如 ?name=a&name=b,flask 中的第二个值会发生什么情况?
- java - Spring WebFlux - 不可转换的类型;无法投射“reactor.core.publisher.Mono”
- elasticsearch - 配置 Logstash 以接收多个节拍