c# - 获取字符串中未使用的字符?

标签 c# string chars

我真的是编程新手,我刚刚开始学习 C# 的一些基础知识。我只是尝试编写一种方法来检查字符串中是否不包含某些特殊字符。我的结果是这段代码:

static string GetUnused(string s)
{
    /*
     *  Propably will get confused if s contains '#' char... how2fix?
     */
    char[] signs = { '!', '§', '$', '%', '&', '/', '(', ')', '=', '?' };
    foreach (char c in s)
    {
        if (c == '!') signs[0] = '#';
        if (c == '§') signs[1] = '#';
        if (c == '$') signs[2] = '#';
        if (c == '%') signs[3] = '#';
        if (c == '&') signs[4] = '#';
        if (c == '/') signs[5] = '#';
        if (c == '(') signs[6] = '#';
        if (c == ')') signs[7] = '#';
        if (c == '=') signs[8] = '#';
        if (c == '?') signs[9] = '#';
    }
    string ret = string.Empty;
    foreach (char x in signs)
    {
        if (x == '#') ret += "";
        else ret += x;
    }
    return ret;

但我很确定这不是解决我的问题的好方法...我该如何以更优雅的方式解决这个问题? 感谢您的回答。

最佳答案

你可以使用 Except :

private static string GetUnused(string s)
{
    char[] signs = {'!', '§', '$', '%', '&', '/', '(', ')', '=', '?'};
    var ret = signs.Except(s);
    return String.Join("",ret);
}

关于c# - 获取字符串中未使用的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37748444/

相关文章:

c# - 使用传入的参数作为搜索字段使用 Entity Framework Web API 创建动态搜索查询

c# - 在 linq 中连接两个字典

ios - 在 swift 3 中过滤代词、动词、地名

c - 在文本文件中的 NULL 字符中搜索字符串中的子字符串

c++ - 创建字符指针 vector 以指向字符串 vector

c# - Windows 8 应用程序使用 Xaml 和 C# 以适应不同的屏幕尺寸和 DPI?

c# - LINQ - 分组依据,然后有条件地求和

java - 从字符串中获取 Double 值

android - 自己的 Android 硬件键盘快捷键

java - 从 UTF-8 文件读取时字符数字不正确