小编Mat*_*yas的帖子

将列表传递给方法,在方法内修改列表,而不会影响“原始”

抱歉,如果该主题含糊不清,我会尽可能地总结一下,而不知道要达到的确切术语。

本质上我有一个列表,然后调用一个方法

public List<int> myList;

void Start () {
    myList = new List<int>();
    myList.Add (1);
    myList.Add (2);

    doSomething(myList);

    foreach (int i in myList){
        print (i);
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的方法中,我想这样做(例如)

public void doSomething (List<int> myPassedList) 
{

    int A = 5;
    myPassList.Add (A);
    //... And then some other cool code with this modified list
}
Run Code Online (Sandbox Code Playgroud)

但是,我不想更改原始列表,我希望它保持原样。本质上,当我将列表传递给方法时,我想要列表的副本,然后在每次调用该方法时将其复制。

我想看到控制台打印“ 1”然后是“ 2”

但会显示“ 1”,“ 2”和“ 5”

希望这一切都有道理!非常感谢您的任何帮助

吉姆

.net c# list

4
推荐指数
2
解决办法
3888
查看次数

最佳重载方法匹配对类构造函数(C#)有一些无效参数

我收到此错误并不完全确定原因.在一个类中,我使用以下代码行创建一个对象:

StoreSale sale = new StoreSale(1, 13.99);
Run Code Online (Sandbox Code Playgroud)

StoreSale类中的构造函数如下所示:

public StoreSale(int quantity, float value)
{
   this.quantity = quantity;
   this.value = value;
}
Run Code Online (Sandbox Code Playgroud)

...而且我收到错误''applicationname'的最佳重载方法匹配.StoreSale.StoreSale(int,float)有一些无效的参数.

谁能告诉我我做错了什么?

c# constructor overloading class

0
推荐指数
1
解决办法
984
查看次数

标签 统计

c# ×2

.net ×1

class ×1

constructor ×1

list ×1

overloading ×1