Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何判断变量是否以连字符结尾?_C# - Fatal编程技术网

C# 如何判断变量是否以连字符结尾?

C# 如何判断变量是否以连字符结尾?,c#,C#,我有c#变量,比如 var a = "ABC"; a = "def-"; a = "-"; 是否有一些简单的测试可以让我检查变量是否以连字符结尾 if ( xxx ) 劳埃德公司就适用于以下情况的零位提供反馈后 if ((a!=null) && (a.ToString().EndsWith("-"))) ... “没有结束” 文件:警告。这可能是一篇社论 重新审视你的设计 这个问题到处都是代码味道。我推断嵌入的连字符具有某种“业务意义”。这样的东西应该体现为类、字段、属性等

我有c#变量,比如

var a = "ABC";
a = "def-";
a = "-";
是否有一些简单的测试可以让我检查变量是否以连字符结尾

if ( xxx )
劳埃德公司就适用于以下情况的零位提供反馈后

if ((a!=null) && (a.ToString().EndsWith("-"))) ...
“没有结束”

文件:

警告。这可能是一篇社论

重新审视你的设计

这个问题到处都是代码味道。我推断嵌入的连字符具有某种“业务意义”。这样的东西应该体现为类、字段、属性等。这样一个正确命名的东西将传达它的意义/意图。但更重要的问题是可维护性

就在昨天,我在自己的代码中遇到了这个问题。现在听我说,以后相信我。编码变量名似乎是一种权宜之计,但当需要修改变量名时,你只是在给自己设置一个受伤的世界,或者只是帮助下一个可怜的程序员理解它


至少,如果您坚持编码变量名,请将编码/解码分离到一个独立的类中。为了g0d的缘故,不要将该类/方法命名为“EncodeName”或类似的名称

为什么
.ToString()
?——如果它不是一个字符串,它可能不会以连字符结尾?因为变量已经是一个字符串,所以不需要ToString()。这很好。谢谢,我不知道有和EndsWith。谢谢,在所示的示例中,a是一个字符串-在本例中,ToString()是多余的。由于a被声明为var a=。。。不是字符串a=。。。我假设这适用于所有具有字符串表示的数据类型
if ((a!=null) && (a.ToString().EndsWith("-"))) ...
if (!(a.EndsWith("-"))){
  // Do something
}