【问题标题】:How to get single value of List<object>如何获取 List<object> 的单个值
【发布时间】:2013-10-06 07:59:11
【问题描述】:

我是 ASPX 的新手,希望你不介意我的问题对某人来说是如此简单。

我使用List&lt;object&gt; selectedValues;

selectedValues=...list of object(item1, item2,..)

每个对象有 3 个字段:idtitlecontent

foreach (object[] item in selectedValues)
{
  foreach (object value in item)
  {
    string result += string.Format("{0}    ", value);
    Textbox1.Text= result;--> all field is displayed in one Textbox.
  }
}

我的问题是:我的意思是如何获得单个字段:

foreach (object value in item)
            {
                TextBox1.Text = id...???
                TextBox2.Text= title...???
                TextBox3.Text= content...???
}

【问题讨论】:

  • 如果每个项目都有三个字段,为什么你把它作为一个对象列表来保存?列出那些具有您正在谈论的三个字段的类。
  • 您的问题与 C# 相关,与 ASP.net 无关

标签: c# asp.net


【解决方案1】:

您可以通过索引对象数组来访问字段:

foreach (object[] item in selectedValues)
{
  idTextBox.Text = item[0];
  titleTextBox.Text = item[1];
  contentTextBox.Text = item[2];
}

也就是说,如果项目的数量不是动态的,您最好将字段存储在自己的一个小类中:

public class MyObject
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }
}

那么你可以这样做:

foreach (MyObject item in selectedValues)
{
  idTextBox.Text = item.Id;
  titleTextBox.Text = item.Title;
  contentTextBox.Text = item.Content;
}

【讨论】:

  • 你能看看我宝贵的问题吗,因为那个问题我什么都做不了stackoverflow.com/questions/19206186/…
  • 您的代码有错误:无法将“System.Object[]”类型的对象转换为“MyObject”
  • 这是你的代码的问题,不是我的。如果要使用第二种方法,则必须更改将对象添加到 selectedValues 的方式。解释如何做到这一点超出了这个问题的范围(提示:selectedValues.Add( new MyObject() { Id = 1, Titile = "Titile", Content = "Content } );
【解决方案2】:

这样定义一个类:

public class myclass {
       string id ;
       string title ;
       string content;
 }

 public class program {
        public void Main () {
               List<myclass> objlist = new List<myclass> () ;
               foreach (var value in objlist)  {
                       TextBox1.Text = value.id ;
                       TextBox2.Text= value.title;
                       TextBox3.Text= value.content ;
                }
         }
  }

我试着画了一张草图,你可以通过多种方式改进它。您可以定义结构,而不是定义类“myclass”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 2016-03-08
    相关资源
    最近更新 更多