C# 您可以打印代理内容吗?
我有一个方法,在这个方法中,我创建了一个从其他类调用的随机数。生成委托并将其指向该方法会调用该方法本身并生成随机数。如果不创建新的随机数,我无法访问该方法。我想用委托获取该方法返回的值。通过编写“Console.WriteLine(某种类型的委托)”,为我提供了路径“Consoleapp8.class+method” 另外,当我用delegate来比较他的指向值和其他变量时,答案是正确的 visual studio环境中的屏幕截图和我的评论:C# 您可以打印代理内容吗?,c#,class,delegates,return,C#,Class,Delegates,Return,我有一个方法,在这个方法中,我创建了一个从其他类调用的随机数。生成委托并将其指向该方法会调用该方法本身并生成随机数。如果不创建新的随机数,我无法访问该方法。我想用委托获取该方法返回的值。通过编写“Console.WriteLine(某种类型的委托)”,为我提供了路径“Consoleapp8.class+method” 另外,当我用delegate来比较他的指向值和其他变量时,答案是正确的 visual studio环境中的屏幕截图和我的评论: 使用系统; 使用System.Collections
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间控制台App8
{
抽象类variklis
{
delegatas()中的delegate;
静态int-litrazas;
静态void Main()
{
Console.WriteLine(“serijinis bloko numeris:+blokas.serijinis_bloko_numeris());
Console.WriteLine(“variklio tipas:In line”+blokas.vidus()+“cilindrai”);
Console.WriteLine(“stumokliu-skaicius:+stumokliai.Stumoklius-skaicius”);
Console.WriteLine(“stumokliu kodas:+stumokliai.stumokliu_kodas());
控制台。写入(“galimas variklio litrazas siam automobiliui:”;
int.TryParse(Console.ReadLine(),out-litrazas);
litrazui();
}
公共静态void litrazui()
{
弦达姆;
泽塔代表团;
zeta=blokas.litrazas;
控制台写入线(zeta);
如果(zeta()问题是由于Console.WriteLine隐式地将委托转换为字符串,即Consoleapp8.class+方法
,则需要调用函数并在其末尾添加括号
Console.WriteLine(zeta());
如果您需要存储从委托返回的int,您可以应用上面的相同原则,通过添加括号来调用函数
int number = zeta();
委托是指向方法的指针,如果不存储它,就无法打印调用结果。但如果系统确实知道要与之比较的确切数字,我认为有一种方法可以打印数字而不是指向它的路径?那么我如何存储int?如果我尝试:int number=zeta(这是一个委托),它会说无法隐式转换类型“Consoleapp8.class+method”为了表示感谢,我们尝试了一系列组合,试图解决各种错误,但迷路了,无法理解委托的概念。再次感谢:)
int number = zeta();