在c#中可以直接对对象字面量调用方法吗?

本文关键字:调用 方法 对象 | 更新日期: 2023-09-27 18:04:02

在c#中,当调用一些实例方法时,我们总是声明该类型的变量,然后给它赋值,最后调用该方法:

string str = "this is a string";
int test = str.IndexOf("a");
在Javascript中,我们可以这样做:
var test = 'sdfsldkfjskdf'.indexOf('a');

这种方法调用在c#中合法吗,比如,直接使用字符串文字作为速记,而不声明变量?

在c#中可以直接对对象字面量调用方法吗?

是的,绝对有效,很好。

我怀疑你不总是声明一个变量,即使没有使用字面量。例如,考虑:

string x = "hello";
string y = x.Substring(2, 3).Trim();

这里我们使用Substring的结果作为调用Trim的实例。没有使用单独的变量

但是这也可以写成

string y = "hello".Substring(2, 3).Trim();

对于原始文字也是如此:

string x = 12.ToString("0000");

最终,文字只是另一种表达式,它可以用作调用实例方法的目标。

这是可能的。但是我一般不推荐这样做,因为它会让人困惑,而且其他开发人员也不清楚您在做什么。

是有效的。

是的,最好的是你甚至不需要检查null