c# - 字符串替换 (C#)

标签 c#

用 C# 编程。
我正在尝试用另一个字符(加密)替换字符串中的每个字符,但我需要一些帮助。我打算使用两个数组来做到这一点,一个包含字母表,另一个包含替代值,但我意识到我必须做一个 else-if 整个字母表的大小,我不知道真的有时间。我想知道是否有更简单、更快的方法。这是我目前所拥有的

private string EncryptFn(string Sinput)
{
    string STencryptedResult = "Null for now";
    char[] CAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
    char[] Encrypt = "QWERTYUIOPASDFGHJKLZXCVBNM".ToCharArray();

    return STencryptedResult;
}

谢谢

最佳答案

你可以使用字典:

var map = new Dictionary<char,char> {
  { 'A', 'Q' },
  { 'B', 'W' },
  // etc
};

然后很容易用这样的东西映射每个字符:

var result = new StringBuilder();
foreach( var fromChar in inputString ) {
  char toChar;
  if( ! map.TryGetValue(fromChar, out toChar) ) {
    // Do something with missing char
  }
  result.Append(toChar);
}

关于c# - 字符串替换 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13832799/

相关文章:

C#:将 int 除以 100

c# - 无法读取超出流末尾的内容

一旦项目在集合中,C# ContainsKey 返回 true

c# - 如何向 CodeContracts 证明 IEnumerable<T>.Single() 永远不会返回 null?

c# - 创建树数据结构

c# - 使用 ConditionalAttribute 是否也会删除参数计算?

c# - 显示某些进程的进度的最佳方式?

c# - 按组后排序?

c# - 是否可以在一行代码中使用一个 LINQ

c# - 在运行时链接 ContinueWith 任务