是否可以在方法的参数中定义变量的类型和值(现有类型string,int,double或您自己的类型)?
原因是只在参数中定义变量而不是函数,就像其他变量一样。
仅用于测试的示例:
public string test(string x){ return x; }
test(new StringBuilder{"New created string!!!"}[0].ToString()));
上面的将只返回第一个char,我们想要返回孔字符串(或任何其他类型)。
如果我们尝试使用测试方法,我们将使用它:
1. example
string x = "some string";
test(x);
or
2. example
test("some string");
could we make something to write variable inside parameter of method, something like
3. example (not valid)
test(new string("some string "));
重点是你放置变量而不事先定义它,如1或2示例
答案 0 :(得分:1)
当然,你可以通过一个新的"将值赋入函数 - 您不必在函数调用之外声明它。
我认为您的混淆来自您创建新StringBuilder
的错误语法:
test(new StringBuilder("New created string!!!")[0].ToString()));
或
test(new StringBuilder[]{new StringBuilder("New created string!!!")}[0].ToString()));
如果您打算创建StringBuilders
的数组,然后传入第一个数组。
您还可以直接在通话中使用其他功能的输出:
test(MethodThatReturnsAString());
否则我不知道你要做什么......
答案 1 :(得分:1)
混淆的原因似乎是System.String
没有带System.String
的构造函数。以下语句不会编译:
string x = new string("some string");
然而,这将:
string x = "some string";
出于所有意图和目的,上述两行是相同的。