Skip to content

Latest commit

 

History

History
31 lines (24 loc) · 1.15 KB

File metadata and controls

31 lines (24 loc) · 1.15 KB

#StringSharp For Lazy String Formatters

This is just a little extension that I wrote for 'convention based' string formatting.

It replaces:
String.Format("{0} then {1} then {2}",11,22,33);
with
"# then # then #".SharpFormat(11,22,33);

In short, it uses # instead of {x} and (mostly) assumes increasing argument count. Also its exposed as an extension method for ease of use.

You can escape to hash using ##
"C## is ###!".SharpFormat(1);
becomes
"C# is #1!"

You can re-use previous arguments by following the # with the index
"# first then # second then #0 first again".SharpFormat(101,202);
becomes
"101 first then 202 second then 101 first again"
This only supports referencing arguments 0-9 for simplicity.

There are shortcuts for succinct method names

"Hello #!".SharpFormat("Formal");  
"Hello #!".SFmt("Casual");  
"Hello #!".SF("Lazy");  

Unit tests are included, sorry ahead of time that they're in MSTest, but I don't have anything else setup right now. I'm open to using nUnit / xUnit, but I was going to wait for someone to care first =)