小编Scr*_*cre的帖子

C#是通过引用还是作为副本将List <T>传递给方法?

从C/C++迈出C#世界的第一步,细节上有点模糊.据我所知,类默认通过引用传递,但是例如.列出<string>,如:

void DoStuff(List<string> strs)
{
    //do stuff with the list of strings
}
Run Code Online (Sandbox Code Playgroud)

和其他地方

List<string> sl = new List<string>();
//next fill list in a loop etc. and then do stuff with it:
DoStuff(sl);
Run Code Online (Sandbox Code Playgroud)

SL在这种情况下按引用传递或者是副本上进行,这样我需要重新定义,如工人功能

void DoStuff(ref List<string> strs)
实际上是对sl本身采取行动而不是副本?

c# pass-by-reference pass-by-value

18
推荐指数
4
解决办法
4万
查看次数

找不到类型或名称空间名称“'BigInteger'

严重地为此感到震惊。想要试一下BigInteger,但是:

找不到类型或名称空间名称“'BigInteger'...

我知道如何添加程序集引用等,但是根本没有System.Numerics出现-否则我完全是完全盲目的。

怎么修?

使用Microsoft Visual Studio Community 2015。

在项目属性中:

目标框架:.NET Framework 4.5.2


System.Numerics在Framework中存在(并选择):

在此处输入图片说明

但是,即使如此简单的东西:

 using System;
 using System.Numerics;

 namespace CCHfT
 {
     class Program
     {
         static void Main(string[] args)
         {
             BigInteger b = 0;
             Console.WriteLine($"...{b}");
         }
     }
 }
Run Code Online (Sandbox Code Playgroud)

...因前面提到的错误消息而失败。

c#

3
推荐指数
1
解决办法
1949
查看次数

标签 统计

c# ×2

pass-by-reference ×1

pass-by-value ×1