Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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# 需要创建dropdownlist分隔符_C#_Asp.net_C# 4.0_C# 3.0 - Fatal编程技术网

C# 需要创建dropdownlist分隔符

C# 需要创建dropdownlist分隔符,c#,asp.net,c#-4.0,c#-3.0,C#,Asp.net,C# 4.0,C# 3.0,我需要创建一个分隔符列表,最后需要在下拉列表中填充这些分隔符。列表基本上应该包含如下字符 !、@、$、~,逗号等不过,它们不应该硬包装 我已经有了这是硬编码,但客户端现在需要所有的ascii分隔符 public SelectList Delimiters { get { var delims = new Dictionary<string, string> { {"

我需要创建一个分隔符列表,最后需要在下拉列表中填充这些分隔符。列表基本上应该包含如下字符

!、@、$、~,逗号等不过,它们不应该硬包装

我已经有了这是硬编码,但客户端现在需要所有的ascii分隔符

public SelectList Delimiters
    {
        get
        {
            var delims = new Dictionary<string, string>
            {
                {"None", string.Empty},
                {",", ","},
                {".", "."},
                {"/", "/"},
                {"#", "#"},
                {"|", "|"},
                {"Tab", "\t"}   
            };

            return new SelectList(delims, "Value", "Key");
        }
    } 

我们如何将其转换为包含所有特殊字符而无需硬编码?

因此您需要所有可打印字符的完整列表?也许

Dictionary<string, string> delims = 
    Enumerable.Range(char.MinValue, char.MaxValue - char.MinValue)
    .Select(i => Convert.ToChar(i))
    .Where(c => !Char.IsControl(c))
    .ToDictionary(c => c.ToString(), c => c.ToString());

如果您想要的话,词典包含的字符超过65400个。

硬编码分隔符有什么问题?我怀疑框架中是否有完整的列表,因为您可以使用每个字符甚至字符串作为分隔符。键入每个特殊字符有点困难。所以我觉得有一种方法可以一次输入所有的分隔符。所以除了上面的那些,你想要所有其他的ascii字符作为分隔符,其中值等于键?是的,这是正确的。但不需要值等于键…我只想要所有的ascii特殊字符…我指的是这里的链接。谢谢你的回答。但是,我们可以调整此代码,只为前128个字符引入字符…请参考link@SandyW:yes,而不是char.Maxvalue使用128