c#在函数调用中使用类的返回值
本文关键字:返回值 函数调用 | 更新日期: 2023-09-27 18:18:52
我试图弄清楚,但我不知道如何传递一个类的新实例的结果到函数调用,或者如果这甚至是可能的。
如果我不想传递一个随机数,我必须先创建它:
int n = 0;
Random rnd = New Random();
int m = rnd.Next(0, n);
MyClass.MyFunction(MyValue1, m);
实际上,这是4行代码。然而,作为c#的新手,我已经看到了很多,想知道,如果有一个更短的版本。一些伪代码:
MyClass.MyFunction(MyValue1, Random rnd = new Random() {rnd.Next(0, n); return});
这是可能的吗?我想我见过类似的东西,但是找不到任何关于它的信息
可以在new Random()
之后调用Next
MyClass.MyFunction(MyValue1, new Random().Next(0,n));
new Random()
将创建Random
的对象,并在其上可以调用Next()
。所以可以调用它内联而不需要存储Random
之前。
我把它留在这里
MyClass.MyFunction(MyValue1, ((Func<int>)(() =>
{
int n = 0;
var rnd = new Random();
return rnd.Next(0, n);
}))());
注::它可以编译并工作。
正如@crashmstr评论的那样,这实际上不是一个好主意,特别是对于Random
。对于单个随机值是可以的,但对于一系列随机数,你不想每次都创建新的实例,否则你的数字会变得不那么随机。