如何在c#中定义方法参数中变量的类型和值?

时间:2014-01-22 13:36:52

标签: c# methods delegates return-value

是否可以在方法的参数中定义变量的类型和值(现有类型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示例

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";

出于所有意图和目的,上述两行是相同的。