在C#中,当调用某些实例方法时,我们总是声明该类型的变量,然后为其赋值,并最后调用该方法:
string str = "this is a string";
int test = str.IndexOf("a");
在Javascript中,我们可以这样做:
var test = 'sdfsldkfjskdf'.indexOf('a');
这种方法在C#中是否合法,比方说,直接使用字符串文字作为简写,没有变量的声明?
答案 0 :(得分:11)
是的,这绝对有效。
我怀疑你不总是声明一个变量,即使不使用文字也是如此。例如,考虑:
string x = "hello";
string y = x.Substring(2, 3).Trim();
此处,我们使用Substring
的结果作为调用Trim
的实例。没有使用单独的变量。
但这同样可以写成:
string y = "hello".Substring(2, 3).Trim();
原始文字也是如此:
string x = 12.ToString("0000");
最终,文字只是另一种表达式,它可以用作实例方法调用的目标。
答案 1 :(得分:0)
是的,这是可能的。但是我一般不会推荐它,因为它令人困惑,而且其他开发人员也不清楚你在做什么。
答案 2 :(得分:0)
是的,它是有效的。没问题。
答案 3 :(得分:0)
是的,关于它的最好的事情是你甚至不必检查空。