2011-06-07 102 views
0

我的格式最佳方式

Filename Status 
abc.txt  Found 
xyz.txt  Not Found 

我需要显示它在一个GridView的数据。

  • 我该如何保存这些值?
  • 我应该使用多维数组还是其他集合?
  • 哪一个最适合?
+0

哪里是哪里来的数据?你正在阅读文件系统,还是从数据库中获取,或从其他地方获取? – DOK 2011-06-07 08:28:55

+1

字典怎么样?文件名可能是关键。 – Reniuz 2011-06-07 08:31:26

+0

对不起,我忘了提及它..我正在检查文件是否存在使用System.IO.File.Exists。文件名来自一个.csv文件,我搜索的文件名,如果它的发现,然后我想发现对文件名发现其他Notfound – Prady 2011-06-07 08:33:23

回答

4

收藏是最适合的。创建一个文件类,你可以把你的领域这样:

class File 
{ 
    private string _fileName; 

    public string fileName{ 
     get { return _fileName;} 
      set { _fileName= value;} 
    } 

     private string _status; 

    public string status{ 
     get { return _status;} 
     set { _status= value;} 
    } 
} 

然后你将每个实例添加到列表。

/* Create Instances */ 
    GridView grid = new GridView(); 
    List<File> files = new List<File>(); 

    /* create and fill File instance */ 
    File f = new File(); 
    f.status = "WhatEverString"; 
    f.fileName = "WhatEverString"; 

    /* Add file instance to the list*/ 
    files.add(f); 

    /* Bind data to GridView*/ 
    grid.DataSource = Files; 
    grid.DataBind(); 

现在,我们只需要参考各领域其在ASP侧的地方,堆栈溢出问题How to bind a List to a gridview?应该有所帮助。

+0

我如何添加值? – Prady 2011-06-07 08:52:07

+0

创建列表列表 fileList = new List ();.然后File newEntry = new File(){fileName =“abc.txt”,status =“Found”};并添加到列表:fileList.Add(newEntry); – Reniuz 2011-06-07 09:22:44

0

如果你不能确定你的文件名是唯一可以使用字典作为IndigoDelta提及,但检查的关键添加新条目之前已经存在:

Dictionary<string, string> files = new Dictionary<string,string>(); 
string status = "Not Found"; 
if (File.Exists("abc.txt")) 
    status = "Found"; 

//Check if key exists 
if (files.ContainsKey("abc.txt")) 
    files.Add("abc.txt", status); 
else 
    files["abc.txt"] = status;