使用3个不同的字符串值生成随机字符串

时间:2012-03-07 19:15:20

标签: c# asp.net visual-studio-2010

net web application我需要生成一个与我从数据库中提取的三个不同值相关的随机字符串。 第一个值对应一个整数,第二个值对应格式的日期(dd / mm / yy),第三个值是char。 如何创建一个组合这三个不同值的随机字符串?

希望你的帮助

1 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题,那么:

var newString = string.Format("{0}-{1}-{2}", intValue, dateValue, charValue);

..如果我理解那是:)(不确定random部分是否上述地址是否解决。如果不是,也将Guid()添加到混合中)

[更新] - 启动控制台应用并尝试以下操作从输入中获取随机性。这有点蠢,但证明了随机性:

class Program
{
    static string RandomizeString(string inputString)
    {
        var rnd = new Random();
        // throw the input string into an array, sort it randomly
        // then join the resulting array back to a single string
        var result = inputString
            .ToArray()
            .OrderBy(x => rnd.Next());

        return string.Join(string.Empty, result.Select(x => x.ToString()));
    }

    static void Main(string[] args)
    {
        // explicitly simulate the 3 inputs that you mention
        int intValue = 23;
        DateTime dateValue = DateTime.UtcNow;
        Char charValue = 'd';

        // package to a single concatenated string
        var newString = string.Format("{0}{1}{2}", 
            intValue, dateValue.ToString("dd/MM/yy"), charValue);

        // show 'original version'
        Console.WriteLine(newString);
        // now the 'random' one
        Console.WriteLine(RandomizeString(newString));
        Console.ReadKey();
    }
}