From 0f898fa17f79784b979287c10fb75fd785c26885 Mon Sep 17 00:00:00 2001 From: dochoffiday Date: Mon, 27 Oct 2014 18:56:40 -0400 Subject: [PATCH] added HexNumber --- Lorem.NET.v12.suo | Bin 34816 -> 34304 bytes Lorem.NET/Lorem.cs | 19 ++++++++++ NuGet/Lorem.NET.1.0.5.nupkg | Bin 0 -> 6718 bytes readme.html | 72 ------------------------------------ readme.md | 3 ++ 5 files changed, 22 insertions(+), 72 deletions(-) create mode 100644 NuGet/Lorem.NET.1.0.5.nupkg delete mode 100644 readme.html diff --git a/Lorem.NET.v12.suo b/Lorem.NET.v12.suo index 803267457204fa4332be6a260a72b59ea0e44e66..b4124aeef9d7ea674fb496444623cad0615681f6 100644 GIT binary patch delta 805 zcmZ`$Ur3Wt6uXy|nu#1RvOwFFgc7LeN7HEy<8x!tm?drQkzd_%d#X*p-pLcl~|xU%hagL`iIE+Te?r=*eU7=V7wNAsTM>#J8Fl~ zaUkT`3sh-zd+;Wuwhu=+Pq&I}146QPv~GlV%lDzJM)Ym@GN&1?DHB}kM399~imw(& zt&~U6ZqA?H!11c)dUNk1>td?v1wG*0Q7#Mp=+_`*oed$|)*<#FEJ)ftFv6dMk2|1C zam*)H4I9&KX_0nZP{fjRh=S9*$Yqh7M?O~k^m?h_-hKs^Shvu8MQThlqlp=QCLal& zpz2CK{T3a*`{v-v*Y97Bw2plgshKCV)Ec0!HG6qE^SfMLyT8g8?&X`|P}@7;^;y~o zx9T@Q^AwF)ru#M8ByxU>3az6^^^hjCF!l+tQqKSt1AVWVF~~~2R1x%qWj6-fOYvY8 zWRJdttm+h>N1AA9RNV!ITr7VRXP1kWh^NS5GD?!<5`ME}oJ^7HOa_?=GD$RY zk>to2dKrvNVa{a|!i;f@{F{@)btiWu$H*}fCujclgt0^n&L;w3CeG?fFO(DYLQVc) zEpi!Al0w-@as%b%f+Q-F;%`s)fO^}epgM&|=~*z-T@Yqm@H;CE+Ji0CN+p>Wwu ykHK_*4-_7lLhUrEQTYEVAQfzbp=mcfp4l(VAg5gF9Dm54;daA9oi!<_=hQ!il>4Uu delta 1159 zcmah|T}TvB6ux(ybX;e3(@EFKwslJ@QJKx%T*YYIMUyCPQ%V*S!K{a@EJqOk+A`>e z4Rp>!Pf?6fPfv(X0}Qv6i*z+3I{{Hu4o#2ymbxLl4pCjw1V5LLH2+mVqGL`A^G zjZ!||+=%I@Qisu*f}qe6p1FuT#D-NFg;|gHVnh~#c%l%T6;DXDt5)zybc+SZ%tl3S z3jLYM@#6XUSN6HgyL>w(UvWyMD2+@o}~vf?Ga-l&?$F(6l)i`5h9K`&+Px0_x3gfl-jKDg@JG z@J%q}ndB|7e3tZmF?zR5pM(-m!!_Kijc8XQA zR@THiSQia^ZEU#bEzbE8p}8-6!r7xivowhbbgNo0D$U9*NlTUtiq4(T(eJs~`7*2i)=w5pk~ hFkT7q@wgQi%n1~$N&c^muzS5XIV2}#TP|PZzW`RXa~}Wz diff --git a/Lorem.NET/Lorem.cs b/Lorem.NET/Lorem.cs index 651ab80..d09f577 100644 --- a/Lorem.NET/Lorem.cs +++ b/Lorem.NET/Lorem.cs @@ -126,5 +126,24 @@ namespace LoremNET } #endregion + + #region Color + + /* http://stackoverflow.com/a/1054087/234132 */ + public static string HexNumber(int digits) + { + byte[] buffer = new byte[digits / 2]; + RandomHelper.Instance.NextBytes(buffer); + string result = String.Concat(buffer.Select(x => x.ToString("X2")).ToArray()); + + if (digits % 2 == 0) + { + return result; + } + + return result + RandomHelper.Instance.Next(16).ToString("X"); + } + + #endregion } } \ No newline at end of file diff --git a/NuGet/Lorem.NET.1.0.5.nupkg b/NuGet/Lorem.NET.1.0.5.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..627bbe34e310ac2fb172f7c94ab2cb173de2cab4 GIT binary patch literal 6718 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 H=H34Q^C^!k literal 0 HcmV?d00001 diff --git a/readme.html b/readme.html deleted file mode 100644 index 0d42768..0000000 --- a/readme.html +++ /dev/null @@ -1,72 +0,0 @@ -

Lorem.NET

- -

A .NET library for all things random!

- -

Usage

- -

Text Helpers

- -

```csharp -// this will generate a string with three words: -string words = LoremNET.Lorem.Words(3);

- -

// this will generate a string with two to five words: -string words = LoremNET.Lorem.Words(2, 5);

- -

// this will generate a string with five to ten words with "uppercaseFirstLetter" set to "false" and "includePunctuation" set to "true": -string words = LoremNET.Lorem.Words(5, 10, false, true);

- -

// a sentence is the same as "Words" except that it will include punctuation by default and will include a "." at the end of a string: -string sentence = LoremNET.Lorem.Sentence(5, 10);

- -

// a paragraph is a string composed of multiple sentences; this paragraph will have five to six words per sentence, and four to ten sentences: -string paragraph = LoremNET.Lorem.Paragraph(5, 6, 4, 10);

- -

// paragraphs is an array of paragraphs; this method will have eight to nine words per sentence, four to five sentences per paragraph, and one to three paragraphs: -string[] paragraphs = LoremNET.Lorem.Paragraphs(8, 9, 4, 5, 1, 3); -```

- -

Extras

- -

```csharp -// this will generate a random valid email address: -string email = LoremNET.Lorem.Email();

- -

// this will generate a random DateTime object between 1/1/1950 and the current DateTime: -DateTime dateTime = LoremNET.Lorem.DateTime();

- -

// this will generate a random DateTime object between 1/1/1995 and 12/31/2020: -DateTime dateTime = LoremNET.Lorem.DateTime(new DateTime(1995, 1, 1), new DateTime(2020, 12, 31))

- -

// this will return "true" 55% of the time: -bool isTruth = LoremNET.Lorem.Chance(55, 100);

- -

// this will randomly select an item from the group: -string[] numbers = GetNumbers(); -string number = LoremNET.Lorem.Random(numbers); -```

- -

RandomHelper

- -

Lorem.NET includes a thread-safe System.Random instance.

- -

csharp -int i = LoremNET.RandomHelper.Instance.Next(1, 2); -

- -

Extending the Class

- -

If you want to extend the class to add more methods, go right ahead!

- -

csharp -namespace LoremNET -{ - public partial class Lorem - { - public static string Email(string domain) - { - return Email().Replace(".com", string.Format(".{0}", domain)); - } - } -} -

diff --git a/readme.md b/readme.md index 2a2fdd9..0e47bf5 100644 --- a/readme.md +++ b/readme.md @@ -34,6 +34,9 @@ string[] paragraphs = LoremNET.Lorem.Paragraphs(8, 9, 4, 5, 1, 3); // this will generate a random valid email address: string email = LoremNET.Lorem.Email(); +// this will generate a random hex number (i.e. a color) +string hex = LoremNET.Lorem.HexNumber(); + // this will generate a random DateTime object between 1/1/1950 and the current DateTime: DateTime dateTime = LoremNET.Lorem.DateTime();