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();
    }
}