C# 如何从模型中获取值和计数?
我希望能够从我创建的任何模型中获取值和计数 例如,假设我有一个这样的模型C# 如何从模型中获取值和计数?,c#,asp.net,C#,Asp.net,我希望能够从我创建的任何模型中获取值和计数 例如,假设我有一个这样的模型 public class test { public int ID { get; set; } public string Name { get; set; } public string Address { get; set; } } 我希望能够编写代码,查看模型,然后获取ID、名称、地址,并将它们放入数组中。我不想要这些值。但是模型中的值。不是数据。以及获取值的计数。3.在另一个类中,只需调用
public class test
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
我希望能够编写代码,查看模型,然后获取ID、名称、地址,并将它们放入数组中。我不想要这些值。但是模型中的值。不是数据。以及获取值的计数。3.在另一个类中,只需调用
test.ID=identification代码>
identification
是您希望ID从中获取值的变量。
test
作为您的类名 在另一个类中,只需调用test.ID=identification代码>
identification
是您希望ID从中获取值的变量。
test
作为您的类名 编辑:根据您在评论中的澄清
可以使用反射将属性名称提取到列表中
var foo = new test();
IList<string> properties = foo.GetType().GetProperties()
.Select(p => p.Name).ToList();
注意:如果.ToString()
太具有破坏性,则可以使用所选的IDictionary
实现交换NameValueCollection
根据此问题修改的代码:编辑:根据您在评论中的澄清
可以使用反射将属性名称提取到列表中
var foo = new test();
IList<string> properties = foo.GetType().GetProperties()
.Select(p => p.Name).ToList();
注意:如果.ToString()
太具有破坏性,则可以使用所选的IDictionary
实现交换NameValueCollection
从这个问题修改的代码:我相信您正在寻找类似的东西(用示例代码包装)
这将为您提供以下输出:
这允许您获取类的属性计数和属性名称。我相信您正在寻找类似的内容(用示例代码包装)
这将为您提供以下输出:
这允许您获取类的属性计数和属性名称。“我不需要值,但需要模型中的值。”您能更清楚地解释一下吗?我不明白两者之间的区别。我想知道是什么组成了这个模型。使用上面的模型,我想看看里面,得到的值是ID、Name和Address。然后把它放到一个列表或数组中,我可以在其他地方使用。@precient我想我知道你现在在找什么。可以使用反射将名称提取到列表中。看看我编辑过的答案。如果您的需求恰好是创建一个json
对象,请查看System.Web.Script.Serialization
中的类JavascriptSerializer
,它将为您完成繁重的工作,“我不需要这些值。但是来自模型的值。”您能更清楚地解释一下吗?我不明白两者之间的区别。我想知道是什么组成了这个模型。使用上面的模型,我想看看里面,得到的值是ID、Name和Address。然后把它放到一个列表或数组中,我可以在其他地方使用。@precient我想我知道你现在在找什么。可以使用反射将名称提取到列表中。看看我编辑的答案。如果您的需求恰好是创建json
对象,请查看System.Web.Script.Serialization
中的类JavascriptSerializer
,它将为youTY Kevin完成繁重的工作。你刚刚把我的桌子从废墟中救了出来。洛蒂·凯文。你刚刚把我的桌子从废墟中救了出来。英雄联盟
class Program
{
public class Test
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
static void Main(string[] args)
{
var propertyInfo = typeof(Test).GetProperties();
var propertyCount = propertyInfo.Count();
Console.WriteLine($"Property count is {propertyCount}");
foreach (var info in propertyInfo)
{
Console.WriteLine($"Property Name: {info.Name}");
}
Console.ReadKey();
}
}