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

本文关键字:字符串 随机 3个 使用 | 更新日期: 2023-09-27 18:27:08

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

希望您的帮助

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

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

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

如果我理解这是:)(尽管我不确定random部分是否如上所述。如果不是,也可以在混合中添加Guid())

[UPDATE]-启动一个控制台应用程序,并尝试以下操作从您的输入中获得随机性。这有点时髦,但证明了它的随机性:

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();
    }
}