繁体   English   中英

C#在函数调用中使用类的返回值

[英]C# use return value from class in function call

我试图弄清楚,但我不知道如何将类的新实例的结果传递给函数调用,或者这是否可能。

如果我不想传递随机数,则必须先创建它:

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);
}))());

PS:它编译和工作。

正如@crashmstr 评论的那样,这实际上不是一个专门针对Random的好主意。 对于单个随机值是可以的,但是对于一系列随机数,您不想每次都创建新实例,否则您的数字将变得不那么随机

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM