在c#中有没有lorem ipsum生成器?

ale*_*lex 32 c# lorem-ipsum

我正在寻找ac#generator,它可以生成随机单词,句子,由多个单词/段落给出的段落以及某些语法,如地址,数字,邮政编码/邮政编码,国家,电话号码,电子邮件地址.

Gre*_*reg 52

static string LoremIpsum(int minWords, int maxWords,
    int minSentences, int maxSentences,
    int numParagraphs) {

    var words = new[]{"lorem", "ipsum", "dolor", "sit", "amet", "consectetuer",
        "adipiscing", "elit", "sed", "diam", "nonummy", "nibh", "euismod",
        "tincidunt", "ut", "laoreet", "dolore", "magna", "aliquam", "erat"};

    var rand = new Random();
    int numSentences = rand.Next(maxSentences - minSentences)
        + minSentences + 1;
    int numWords = rand.Next(maxWords - minWords) + minWords + 1;

    StringBuilder result = new StringBuilder();

    for(int p = 0; p < numParagraphs; p++) {
        result.Append("<p>");
        for(int s = 0; s < numSentences; s++) {
            for(int w = 0; w < numWords; w++) {
                if (w > 0) { result.Append(" "); }
                result.Append(words[rand.Next(words.Length)]);
            }
            result.Append(". ");
        }
        result.Append("</p>");
    }

    return result.ToString();
}
Run Code Online (Sandbox Code Playgroud)

  • 这是使用StringBuilder而不是众多字符串连接的好时机. (2认同)
  • @JimmyBoh 更新为用户 StringBuilder。用大量的文字度过了永恒。 (2认同)

SLa*_*aks 28

像这样:

const string LoremIpsum = @"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
Run Code Online (Sandbox Code Playgroud)

重复一遍:

String.Join(Environment.NewLine, 
            Array.ConvertAll(new int[count], i => LoremIpsum));
Run Code Online (Sandbox Code Playgroud)

或者,在.Net 4.0中:

String.Join(Environment.NewLine, Enumerable.Repeat(LoremIpsum, count));
Run Code Online (Sandbox Code Playgroud)


Ben*_*ith 26

我写了一个Ruby Faker gem的C#端口,可以用来轻松生成假数据:名称,地址,电话号码和lorem ipsum文本.

它可以作为NuGet包(Install-Package Faker.Net)在Github上使用,我也写了一篇文章,介绍了它的一些功能,并提供了示例代码.


Jos*_*eph 6

实际上Nuget上的一个包就是为你做这件事.

http://www.nuget.org/packages/NLipsum/

例如,您可以通过执行以下操作生成一段文本:

var someComments = new NLipsum.Core.Paragraph();
Run Code Online (Sandbox Code Playgroud)