C#字符串不包含文本
我在一个类似的文本框中输入了一个短语:“塔里明天的天气如何?” 此时,此代码将郊区字符串设置为大写名称,并将郊区设置为值C#字符串不包含文本,c#,string,contains,C#,String,Contains,我在一个类似的文本框中输入了一个短语:“塔里明天的天气如何?” 此时,此代码将郊区字符串设置为大写名称,并将郊区设置为值 public void requestedSuburb(String suburbFromForm1) { suburb = suburbFromForm1; if (suburb.Contains("taree")) { suburb = "Taree"; suburbID = "zmw:00000.1.95784.xm
public void requestedSuburb(String suburbFromForm1)
{
suburb = suburbFromForm1;
if (suburb.Contains("taree"))
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
else if (suburb.Contains("port macquarie"))
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
(如果此点下方有语句,则使用检查更多郊区名称
整个InputExtBox.Text被传递到字符串中,用于检查上述内容
我的问题是,是否有一个else if语句可以检查郊区字符串,如果没有找到郊区的文本,它可以默认为一个选择?(即:我希望“Taree”是默认设置。)
我现在得到的是这个,但它没有返回任何内容:
else if (!suburb.Contains("taree") || (!suburb.Contains("port macquarie")))
{
suburb = "Port Macquarie"
suburbID = "zmw:00000.1.94787.xml";
}
您只需要在所有
else的末尾添加一个else,如果是这样的话:
if (suburb.Contains("taree"))
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
else if (suburb.Contains("port macquarie"))
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
else {
suburb = "default";
}
if (suburb.Contains("taree"))
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
else if (suburb.Contains("port macquarie"))
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
else
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
// Default values
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
if (suburb.Contains("port macquarie")
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
您只需要其他
:
if (suburb.Contains("taree"))
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
else if (suburb.Contains("port macquarie"))
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
else
{
// this fires if nothing else above is correct
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
使用else
处理默认设置,如下所示:
if (suburb.Contains("taree"))
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
else if (suburb.Contains("port macquarie"))
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
else {
suburb = "default";
}
if (suburb.Contains("taree"))
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
else if (suburb.Contains("port macquarie"))
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
else
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
// Default values
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
if (suburb.Contains("port macquarie")
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
您也可以只指定默认值作为开始,然后仅在找到匹配项时覆盖默认值,如下所示:
if (suburb.Contains("taree"))
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
else if (suburb.Contains("port macquarie"))
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
else {
suburb = "default";
}
if (suburb.Contains("taree"))
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
else if (suburb.Contains("port macquarie"))
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
else
{
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
}
// Default values
suburb = "Taree";
suburbID = "zmw:00000.1.95784.xml";
if (suburb.Contains("port macquarie")
{
suburb = "Port Macquarie";
suburbID = "zmw:00000.1.94787.xml";
}
注意:对于您发布的示例代码,这将您的逻辑简化为单个if
。这还消除了第一个if
和else
中的重复逻辑
开关
/案例
语句?听起来像是组合框
会更好。比我快100毫秒:P@SimonWhitehead只是因为我可能会先看这个问题:)谢谢。这是完美的工作,是好的和简单的。我整天都在玩代码,所以有一种方法让我不知所措。我认为第二种方法的想法是正确的,但您必须稍微修改一下,我们必须先复制郊区的(在使用默认的“Taree”
分配它之前),在else if
中使用该副本,如果条件为true
,则更新郊区
,这样我们就不需要最后一个else
。但是OP alread中传递了一个名为suburbFromForm1
的参数,因此我们可以在else if
中使用该权限,而无需复制郊区