我有以下代码。 abc
和newdata
是字符串变量。它的作用是将一些文本添加到变量abc并进入变量测试。
var test = abc + "?ds=" + newdata;
我想更改此代码以便以下内容:
"?ds=" + newdata;
仅当字符串abc中没有问号时才添加。
有没有一种简单的方法可以做到这一点。我当时想用“?”运算符所以我可以直接执行此操作,但我不确定如何使用它。
答案 0 :(得分:2)
是的,你应该能够使用三元运算符 - ?
- 为此。
我认为你想要添加“?”如果不存在的话。
var test = abc + (abc.Contains("?") ? "" : "?") + "ds=" + newdata;
但如果你真的只想添加"?ds=" + newdata;
如果没有问号,那就应该这样做
var test = abc + (abc.Contains("?") ? "" : "?ds=" + newdata);
答案 1 :(得分:1)
你想要的是这个
var test = abc + (abc".Contains("?") ? "?ds=" + newdata : string.Empty);
当且仅当"?ds="
包含?时,这将附加abc
。否则,它只是附加空字符串。
这在功能上等同于此代码
var test = abc;
if (!abc.Contains("?"))
test += "?ds=" + newData;
所以选择你的毒药,其中一个是完全清晰的,并做同样的事情。
答案 2 :(得分:0)
你可以试试这个,
var test;
if (!abc.Contains("?"))
{
test =String.Format("{0}?ds={1}",abc,newdata);
}