我如何从C#中的另一个类调用此列表?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何从C#中的另一个类调用此列表?相关的知识,希望对你有一定的参考价值。

我对整个C#还是陌生的,但是我发现这是大约5年前从grovesNL发布的代码,我相信它会起作用。

 namespace DataAccessClass
{
    public class FileReader
    {
        static void Main(string[] args)
        {
            List<DailyValues> values = File.ReadAllLines("C:\\Users\\Josh\\Sample.csv")
                                           .Skip(1)
                                           .Select(v => DailyValues.FromCsv(v))
                                           .ToList();
        }
    }

    public class DailyValues
    {
        DateTime Date;
        decimal Open;
        decimal High;
        decimal Low;
        decimal Close;
        decimal Volume;
        decimal AdjClose;

        public static DailyValues FromCsv(string csvLine)
        {
            string[] values = csvLine.Split(',');
            DailyValues dailyValues = new DailyValues();
            dailyValues.Date = Convert.ToDateTime(values[0]);
            dailyValues.Open = Convert.ToDecimal(values[1]);
            dailyValues.High = Convert.ToDecimal(values[2]);
            dailyValues.Low = Convert.ToDecimal(values[3]);
            dailyValues.Close = Convert.ToDecimal(values[4]);
            dailyValues.Volume = Convert.ToDecimal(values[5]);
            dailyValues.AdjClose = Convert.ToDecimal(values[6]);
            return dailyValues;
        }
    }
}

我正在尝试跳过标题而读取csv文件,并将其放入可从其他类访问的列表中。因此,我的体系结构是DataAccessClass,它具有一个名为FileReader的类和一个名为Values的类。我的任务是将此csv文件读入FileReader类,然后创建一个对象列表以将其保存在Values类中。当我去Values类调用它时,我无法弄清楚。这就是我试图称呼它的方式。据说DailyValues.FromCsv(string)是无效的方法。

    public List<string> GetList()
        {
            return DataAccessClass.DailyValues.FromCsv.dailyValues;


        }

我希望能够进一步访问此列表。

答案

您的表情DataAccessClass.DailyValues.FromCsv.dailyValues是罪魁祸首。

DataAccessClass.DailyValues.FromCsv有效,并在类FromCsv中引用名为DataAccessClass.DailyValues的静态方法。但是随后通过添加.dailyValues进行操作是不正确的。这是一种方法,无需使用.即可窥视和提取内容。

您可以(如果打算这样做的话)调用该函数,然后直接使用结果:

DataAccessClass.DailyValues.FromCsv(some_csv_string)是类型DailyValues的表达式。然后,您可以在其中访问-例如:“高”,带有:

DailyValues dv;
dv = DataAccessClass.DailyValues.FromCsv(some_csv_string);
dosomething(dv.High);

但是要使它起作用,High必须具有public的可见性。

以上是关于我如何从C#中的另一个类调用此列表?的主要内容,如果未能解决你的问题,请参考以下文章

无法从 ViewPager 中的另一个片段刷新/更新片段中的列表视图

导航到Android中的另一个片段后如何清除导航堆栈

Android 如何从 Main Activity 中的另一个类调用 Activity 数据类型?

如何从Angular 6中的另一个类调用类中的函数?

如何从 C# 中的另一个私有类调用私有类变量

如何从 Rcpp 中的另一个函数调用一个函数?