gpt4 book ai didi

c# - 如何在 C# 中访问另一个类中的列表

转载 作者:行者123 更新时间:2023-11-30 20:26:55 24 4
gpt4 key购买 nike

我是 C# 的新手,所以请忽略我对这个问题的无知。但是我在网上搜索过,找不到有意义的解决方案。

基本上,我有一个存储在 CommonClass.CS 中的列表,如下所示:

using System;
using System.Collections.Generic;

namespace NewParkingApp
{
public class CommonClass
{
public List < string > itemData = new List < string > ()
{
"Android",
"IOS",
"Windows Phone",
"Xamarin-IOS",
"Xamarin-Form",
"Xamarin_Android"
};

}
}

然后我希望能够从另一个类(class)访问该列表。到目前为止,这是我对访问类的了解:

using Foundation;
using System;
using System.Collections.Generic;
using UIKit;

namespace NewParkingApp
{
public partial class ResultViewController : UIViewController
{
public ResultViewController (IntPtr handle) : base (handle)
{
}

public override void ViewDidLoad()
{
base.ViewDidLoad();
List<string> itemData = CommonClass.itemData;
mainListview.Source = new TableViewSource(itemData);
}

public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
}
}

此外,了解如何将项目添加到该列表也很有用。但我想一旦我知道如何访问它应该会很容易?

提前致谢!

最佳答案

在继续之前,您必须知道您是否希望此列表在许多对象之间共享,或者对于CommonClass 的每个实例唯一你创造。

正如评论中提到的:

  • 对于每个 CommonClass 的唯一列表实例更改 itemData使用实例化成员的赋值:

    CommonClass commonClass = new CommonClass();
    List<string> itemData = commonClass.itemData;
  • 对于共享列表,添加 static你类(class)的关键字 itemData因此:

    public static List<string> itemData = new List<string>()

    另请注意 List类仅适用于单线程操作(即在任何给定时间只有一个对象可以读取或写入列表),一旦开始处理多线程,您应该选择线程安全类型。

之后你可以使用itemData.Add("whatever"); , 但实际上这可以很容易地在线检查。 Here's just one example at dotnetperls.com

关于c# - 如何在 C# 中访问另一个类中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49347615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com