我如何才能让这个C#控制台交换密码工作?

我如何才能让这个C#控制台交换密码工作?,c#,encryption,console,swap,C#,Encryption,Console,Swap,如果我想用VS2010在C#console中制作一个应用程序,我怎么能在输入文本的地方制作它,然后它会进行101010101010交换 lPyare1=播放器1 这就是我目前拥有的: static void Main() { Console.WriteLine("Enter String Here:"); // // Swap characters in the string. // string v

如果我想用VS2010在C#console中制作一个应用程序,我怎么能在输入文本的地方制作它,然后它会进行101010101010交换

lPyare1=播放器1

这就是我目前拥有的:

    static void Main()
    {
        Console.WriteLine("Enter String Here:");
        //
        // Swap characters in the string.
        //
        string value1 = Console.ReadLine();
        string swap1 = SwapCharacters(value1, 0, 1);
        Console.WriteLine(swap1);
        Console.ReadKey();
    }

假设这是一个演示应用程序,您真正想交换的是字符,而不是位(这在正确的密码中是必需的),您可以使用以下方法:

static string SwapCharacters(string s, char c1, char c2)
{
    StringBuilder sb = new StringBuilder(s);

    for (int i = 0; i < s.Length; ++i)
        if (s[i] == c1)
            sb[i] = c2;
        else if (s[i] == c2)
            sb[i] = c1;

    return sb.ToString();
}
编辑:要实现您在评论中的要求:

static string SwapCharacters(string s)
{
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < s.Length; i += 2)
    {
        if (i < s.Length - 1)
            sb.Append(s[i + 1]);
        sb.Append(s[i]);
    }

    return sb.ToString();
}
静态字符串交换字符(字符串)
{
StringBuilder sb=新的StringBuilder();
对于(int i=0;i
假设这是一个演示应用程序,您真正想交换的是字符,而不是位(在正确的密码中是需要的),您可以使用以下方法:

static string SwapCharacters(string s, char c1, char c2)
{
    StringBuilder sb = new StringBuilder(s);

    for (int i = 0; i < s.Length; ++i)
        if (s[i] == c1)
            sb[i] = c2;
        else if (s[i] == c2)
            sb[i] = c1;

    return sb.ToString();
}
编辑:要实现您在评论中的要求:

static string SwapCharacters(string s)
{
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < s.Length; i += 2)
    {
        if (i < s.Length - 1)
            sb.Append(s[i + 1]);
        sb.Append(s[i]);
    }

    return sb.ToString();
}
静态字符串交换字符(字符串)
{
StringBuilder sb=新的StringBuilder();
对于(int i=0;i
解决方案如下所示:

    string s_01 = SwapCharacters("lPyare1", 0, 1); // "Player1"
    string s_12 = SwapCharacters("Palyre2", 1, 2); // "Player2"
}
static string SwapCharacters(string source, int a, int b) { // a < b
    StringBuilder sb = new StringBuilder(source);
    for(int i = 0; i < source.Length; i++) {
        if(i % (b + 1) != b) continue;
        char tmp = sb[i - (b - a)];
        sb[i - (b - a)] = sb[i];
        sb[i] = tmp;
    }
    return sb.ToString();
}
string s_01=SwapCharacters(“lPyare1”,0,1);//“玩家1”
字符串s_12=交换字符(“Palyre2”,1,2);//“玩家2”
}
静态字符串交换字符(字符串源,int a,int b){//a
解决方案如下所示:

    string s_01 = SwapCharacters("lPyare1", 0, 1); // "Player1"
    string s_12 = SwapCharacters("Palyre2", 1, 2); // "Player2"
}
static string SwapCharacters(string source, int a, int b) { // a < b
    StringBuilder sb = new StringBuilder(source);
    for(int i = 0; i < source.Length; i++) {
        if(i % (b + 1) != b) continue;
        char tmp = sb[i - (b - a)];
        sb[i - (b - a)] = sb[i];
        sb[i] = tmp;
    }
    return sb.ToString();
}
string s_01=SwapCharacters(“lPyare1”,0,1);//“玩家1”
字符串s_12=交换字符(“Palyre2”,1,2);//“玩家2”
}
静态字符串交换字符(字符串源,int a,int b){//a
我想他希望我们编写
SwapCharacters
。我可以对整个字符串使用SwapCharacters?函数中的
0,1
做什么?最初我有一个数组设置,它可以帮助分配元素。我想他希望我们编写
SwapCharacters
。我可以对整个字符串使用SwapCharacters?什么是
0,1
do in the function?最初我有一个数组设置,它帮助分配元素。我想让它成为可以交换字符的地方,就像这样:基本上交换前2个字符,然后是第3个和第4个,然后是第5个和第6个,所以这里有更多的例子:lolk=olkl,water=awetr。我想让它成为我可以像这样交换字符的地方:所以基本上交换前2个字符,然后是第3个和第4个,然后是第5个和第6个,所以这里有更多的例子:lolk=olkl,water=awetr。