Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq-以列表形式获取静态类常量_C#_Linq_C# 4.0 - Fatal编程技术网

C# Linq-以列表形式获取静态类常量

C# Linq-以列表形式获取静态类常量,c#,linq,c#-4.0,C#,Linq,C# 4.0,这是我的静态类,其中包含常量 public static class Files { public const string FileA = "Block1"; public const string FileB = "Block2"; public const string FileC = "Block3"; public const string FileD = "Block6.Block7"; } 除了将其转换为数据表并检索之外,是否有可能使用LINQ以

这是我的静态类,其中包含常量

public static class Files
{
    public const string FileA = "Block1";
    public const string FileB = "Block2";
    public const string FileC = "Block3";
    public const string FileD = "Block6.Block7";
 }

除了将其转换为数据表并检索之外,是否有可能使用LINQ以列表的形式获取常量。谢谢

希望您正在寻找这样的产品:

List<string> staticconstList = new List<string>(); 
Type type = typeof(Files);
foreach (var field in type.GetFields())

{
    var val = field.GetValue(null);               
    staticconstList.Add(val.ToString());
}
List staticconstList=newlist();
类型=类型(文件);
foreach(type.GetFields()中的var字段)
{
var val=field.GetValue(null);
staticconstList.Add(val.ToString());
}
或者像这样:

List<string> staticconstList = type.GetFields().Select(x => x.GetValue(null).ToString()).ToList();
List staticconstList=type.GetFields().Select(x=>x.GetValue(null.ToString()).ToList();

希望您正在寻找这样的产品:

List<string> staticconstList = new List<string>(); 
Type type = typeof(Files);
foreach (var field in type.GetFields())

{
    var val = field.GetValue(null);               
    staticconstList.Add(val.ToString());
}
List staticconstList=newlist();
类型=类型(文件);
foreach(type.GetFields()中的var字段)
{
var val=field.GetValue(null);
staticconstList.Add(val.ToString());
}
或者像这样:

List<string> staticconstList = type.GetFields().Select(x => x.GetValue(null).ToString()).ToList();
List staticconstList=type.GetFields().Select(x=>x.GetValue(null.ToString()).ToList();

通过反射,您可以这样做,结果是一个带有字段、值结构的可枚举项

using System;
using System.Linq;
using System.Reflection;

namespace ConsoleApplication2
{
    public static class Files
    {
        public const string FileA = "Block1";
        public const string FileB = "Block2";
        public const string FileC = "Block3";
        public const string FileD = "Block6.Block7";
    }

    internal class Program
    {
        private static void Main(string[] args)
        {
            var t = typeof(Files);
            var fields = t.GetFields(BindingFlags.Static | BindingFlags.Public);

            var list = fields.Select(x => new {Field = x.Name, Value = x.GetValue(null).ToString()});


            Console.Read();
        }
    }
}

使用反射,您可以这样做,结果是一个带有字段、值结构的可枚举项

using System;
using System.Linq;
using System.Reflection;

namespace ConsoleApplication2
{
    public static class Files
    {
        public const string FileA = "Block1";
        public const string FileB = "Block2";
        public const string FileC = "Block3";
        public const string FileD = "Block6.Block7";
    }

    internal class Program
    {
        private static void Main(string[] args)
        {
            var t = typeof(Files);
            var fields = t.GetFields(BindingFlags.Static | BindingFlags.Public);

            var list = fields.Select(x => new {Field = x.Name, Value = x.GetValue(null).ToString()});


            Console.Read();
        }
    }
}

您可以使用反射来读取类属性。请给我示例代码。对不起,我从来没有用过思考。我想你的问题是重复的!考虑到“将其转换为数据表并检索”,也许您应该更好地使用Enum?不。我需要它作为列表,并通过LINQ实现。您提到的上述链接仅使用了反射@HPFS您可以使用反射来读取类属性。请给我示例代码。对不起,我从来没有用过思考。我想你的问题是重复的!考虑到“将其转换为数据表并检索”,也许您应该更好地使用Enum?不。我需要它作为列表,并通过LINQ实现。您提到的上述链接仅使用了反射@HPFS输出的预期类型是什么?什么的列表?输出的预期类型是什么?什么清单?