diff --git a/src/Humanizer.Tests.Shared/CollectionHumanizeTests.cs b/src/Humanizer.Tests.Shared/CollectionHumanizeTests.cs index 6feb304f2..cc6a1aed2 100644 --- a/src/Humanizer.Tests.Shared/CollectionHumanizeTests.cs +++ b/src/Humanizer.Tests.Shared/CollectionHumanizeTests.cs @@ -78,7 +78,7 @@ public void HumanizeDefaultsToToString() [Fact] public void HumanizeUsesStringDisplayFormatter() { - var humanized = _testCollection.Humanize(sc => string.Format("SomeObject #{0} - {1}", sc.SomeInt, sc.SomeString)); + var humanized = _testCollection.Humanize(sc => $"SomeObject #{sc.SomeInt} - {sc.SomeString}"); Assert.Equal("SomeObject #1 - One, SomeObject #2 - Two, and SomeObject #3 - Three", humanized); } @@ -92,7 +92,7 @@ public void HumanizeUsesObjectDisplayFormatter() [Fact] public void HumanizeUsesStringDisplayFormatterWhenSeparatorIsProvided() { - var humanized = _testCollection.Humanize(sc => string.Format("SomeObject #{0} - {1}", sc.SomeInt, sc.SomeString), "or"); + var humanized = _testCollection.Humanize(sc => $"SomeObject #{sc.SomeInt} - {sc.SomeString}", "or"); Assert.Equal("SomeObject #1 - One, SomeObject #2 - Two, or SomeObject #3 - Three", humanized); } diff --git a/src/Humanizer/Bytes/ByteSize.cs b/src/Humanizer/Bytes/ByteSize.cs index 655604242..b1c35d34c 100644 --- a/src/Humanizer/Bytes/ByteSize.cs +++ b/src/Humanizer/Bytes/ByteSize.cs @@ -309,7 +309,7 @@ private string ToString(string format, IFormatProvider provider, bool toSymbol) ? "0" : formattedLargeWholeNumberValue; - return string.Format("{0} {1}", formattedLargeWholeNumberValue, toSymbol ? GetLargestWholeNumberSymbol(provider) : GetLargestWholeNumberFullWord(provider)); + return $"{formattedLargeWholeNumberValue} {(toSymbol ? GetLargestWholeNumberSymbol(provider) : GetLargestWholeNumberFullWord(provider))}"; } /// diff --git a/src/Humanizer/Localisation/NumberToWords/AfrikaansNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/AfrikaansNumberToWordsConverter.cs index 6d3276d5a..bada2b604 100644 --- a/src/Humanizer/Localisation/NumberToWords/AfrikaansNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/AfrikaansNumberToWordsConverter.cs @@ -45,32 +45,32 @@ private string Convert(int number, bool isOrdinal) if (number < 0) { - return string.Format("minus {0}", Convert(-number)); + return $"minus {Convert(-number)}"; } var parts = new List(); if ((number / 1000000000) > 0) { - parts.Add(string.Format("{0} miljard", Convert(number / 1000000000))); + parts.Add($"{Convert(number / 1000000000)} miljard"); number %= 1000000000; } if ((number / 1000000) > 0) { - parts.Add(string.Format("{0} miljoen", Convert(number / 1000000))); + parts.Add($"{Convert(number / 1000000)} miljoen"); number %= 1000000; } if ((number / 1000) > 0) { - parts.Add(string.Format("{0} duisend", Convert(number / 1000))); + parts.Add($"{Convert(number / 1000)} duisend"); number %= 1000; } if ((number / 100) > 0) { - parts.Add(string.Format("{0} honderd", Convert(number / 100))); + parts.Add($"{Convert(number / 100)} honderd"); number %= 100; } @@ -94,11 +94,11 @@ private string Convert(int number, bool isOrdinal) var lastPart = TensMap[number / 10]; if ((number % 10) > 0) { - lastPart = string.Format("{0} en {1}", GetUnitValue(number % 10, false), isOrdinal ? GetUnitValue(lastPartValue, isOrdinal) : lastPart); + lastPart = $"{GetUnitValue(number % 10, false)} en {(isOrdinal ? GetUnitValue(lastPartValue, isOrdinal) : lastPart)}"; } else if ((number % 10) == 0) { - lastPart = string.Format("{0}{1}{2}", parts.Count > 0 ? "en " : "", lastPart, isOrdinal ? "ste" : ""); + lastPart = $"{(parts.Count > 0 ? "en " : "")}{lastPart}{(isOrdinal ? "ste" : "")}"; } else if (isOrdinal) { diff --git a/src/Humanizer/Localisation/NumberToWords/ArabicNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/ArabicNumberToWordsConverter.cs index 51576cf80..df476f5ab 100644 --- a/src/Humanizer/Localisation/NumberToWords/ArabicNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/ArabicNumberToWordsConverter.cs @@ -25,7 +25,7 @@ public override string Convert(long number, GrammaticalGender gender, bool addAn if (number < 0) { - return string.Format("ناقص {0}", Convert(-number, gender)); + return $"ناقص {Convert(-number, gender)}"; } var result = string.Empty; @@ -114,7 +114,7 @@ public override string Convert(long number, GrammaticalGender gender, bool addAn { if (result != string.Empty) { - result = string.Format("{0} {1}", "و", result); + result = $"{"و"} {result}"; } if (groupNumber != 2) @@ -123,21 +123,21 @@ public override string Convert(long number, GrammaticalGender gender, bool addAn { if (groupNumber >= 3 && groupNumber <= 10) { - result = string.Format("{0} {1}", PluralGroups[groupLevel], result); + result = $"{PluralGroups[groupLevel]} {result}"; } else { - result = string.Format("{0} {1}", result != string.Empty ? AppendedGroups[groupLevel] : Groups[groupLevel], result); + result = $"{(result != string.Empty ? AppendedGroups[groupLevel] : Groups[groupLevel])} {result}"; } } else { - result = string.Format("{0} {1}", Groups[groupLevel], result); + result = $"{Groups[groupLevel]} {result}"; } } } - result = string.Format("{0} {1}", process, result); + result = $"{process} {result}"; } groupLevel++; diff --git a/src/Humanizer/Localisation/NumberToWords/ArmenianNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/ArmenianNumberToWordsConverter.cs index 1e493eb82..09e9cfa9f 100644 --- a/src/Humanizer/Localisation/NumberToWords/ArmenianNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/ArmenianNumberToWordsConverter.cs @@ -52,39 +52,39 @@ private string ConvertImpl(long number, bool isOrdinal) if (number < 0) { - return string.Format("մինուս {0}", ConvertImpl(-number, isOrdinal)); + return $"մինուս {ConvertImpl(-number, isOrdinal)}"; } var parts = new List(); if ((number / 1000000000000000000) > 0) { - parts.Add(string.Format("{0} քվինտիլիոն", Convert(number / 1000000000000000000))); + parts.Add($"{Convert(number / 1000000000000000000)} քվինտիլիոն"); number %= 1000000000000000000; } if ((number / 1000000000000000) > 0) { - parts.Add(string.Format("{0} կվադրիլիոն", Convert(number / 1000000000000000))); + parts.Add($"{Convert(number / 1000000000000000)} կվադրիլիոն"); number %= 1000000000000000; } if ((number / 1000000000000) > 0) { - parts.Add(string.Format("{0} տրիլիոն", Convert(number / 1000000000000))); + parts.Add($"{Convert(number / 1000000000000)} տրիլիոն"); number %= 1000000000000; } if ((number / 1000000000) > 0) { - parts.Add(string.Format("{0} միլիարդ", Convert(number / 1000000000))); + parts.Add($"{Convert(number / 1000000000)} միլիարդ"); number %= 1000000000; } if ((number / 1000000) > 0) { - parts.Add(string.Format("{0} միլիոն", Convert(number / 1000000))); + parts.Add($"{Convert(number / 1000000)} միլիոն"); number %= 1000000; } @@ -96,7 +96,7 @@ private string ConvertImpl(long number, bool isOrdinal) } else { - parts.Add(string.Format("{0} հազար", Convert(number / 1000))); + parts.Add($"{Convert(number / 1000)} հազար"); } number %= 1000; @@ -110,7 +110,7 @@ private string ConvertImpl(long number, bool isOrdinal) } else { - parts.Add(string.Format("{0} հարյուր", Convert(number / 100))); + parts.Add($"{Convert(number / 100)} հարյուր"); } number %= 100; @@ -127,7 +127,7 @@ private string ConvertImpl(long number, bool isOrdinal) var lastPart = TensMap[number / 10]; if ((number % 10) > 0) { - lastPart += string.Format("{0}", GetUnitValue(number % 10, isOrdinal)); + lastPart += $"{GetUnitValue(number % 10, isOrdinal)}"; } else if (isOrdinal) { diff --git a/src/Humanizer/Localisation/NumberToWords/AzerbaijaniNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/AzerbaijaniNumberToWordsConverter.cs index 2299d3907..7877943c7 100644 --- a/src/Humanizer/Localisation/NumberToWords/AzerbaijaniNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/AzerbaijaniNumberToWordsConverter.cs @@ -35,34 +35,34 @@ public override string Convert(long input) if (number < 0) { - return string.Format("mənfi {0}", Convert(-number)); + return $"mənfi {Convert(-number)}"; } var parts = new List(); if ((number / 1000000000) > 0) { - parts.Add(string.Format("{0} milyard", Convert(number / 1000000000))); + parts.Add($"{Convert(number / 1000000000)} milyard"); number %= 1000000000; } if ((number / 1000000) > 0) { - parts.Add(string.Format("{0} milyon", Convert(number / 1000000))); + parts.Add($"{Convert(number / 1000000)} milyon"); number %= 1000000; } var thousand = (number / 1000); if (thousand > 0) { - parts.Add(string.Format("{0} min", thousand > 1 ? Convert(thousand) : "").Trim()); + parts.Add($"{(thousand > 1 ? Convert(thousand) : "")} min".Trim()); number %= 1000; } var hundred = (number / 100); if (hundred > 0) { - parts.Add(string.Format("{0} yüz", hundred > 1 ? Convert(hundred) : "").Trim()); + parts.Add($"{(hundred > 1 ? Convert(hundred) : "")} yüz".Trim()); number %= 100; } @@ -107,7 +107,7 @@ public override string ConvertToOrdinal(int number) word = word.Substring(0, word.Length - 1); } - return string.Format("{0}{1}", word, wordSuffix); + return $"{word}{wordSuffix}"; } } } diff --git a/src/Humanizer/Localisation/NumberToWords/BanglaNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/BanglaNumberToWordsConverter.cs index 7c84ec985..ef5c65e0a 100644 --- a/src/Humanizer/Localisation/NumberToWords/BanglaNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/BanglaNumberToWordsConverter.cs @@ -75,32 +75,32 @@ public override string Convert(long input) if (number < 0) { - return string.Format("ঋণাত্মক {0}", Convert(-number)); + return $"ঋণাত্মক {Convert(-number)}"; } var parts = new List(); if ((number / 10000000) > 0) { - parts.Add(string.Format("{0} কোটি", Convert(number / 10000000))); + parts.Add($"{Convert(number / 10000000)} কোটি"); number %= 10000000; } if ((number / 100000) > 0) { - parts.Add(string.Format("{0} লক্ষ", Convert(number / 100000))); + parts.Add($"{Convert(number / 100000)} লক্ষ"); number %= 100000; } if ((number / 1000) > 0) { - parts.Add(string.Format("{0} হাজার", Convert(number / 1000))); + parts.Add($"{Convert(number / 1000)} হাজার"); number %= 1000; } if ((number / 100) > 0) { - parts.Add(string.Format("{0}", HundredsMap[number / 100])); + parts.Add($"{HundredsMap[number / 100]}"); number %= 100; } diff --git a/src/Humanizer/Localisation/NumberToWords/BrazilianPortugueseNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/BrazilianPortugueseNumberToWordsConverter.cs index 3a9d678ed..bff907392 100644 --- a/src/Humanizer/Localisation/NumberToWords/BrazilianPortugueseNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/BrazilianPortugueseNumberToWordsConverter.cs @@ -29,7 +29,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd if (number < 0) { - return string.Format("menos {0}", Convert(Math.Abs(number), gender)); + return $"menos {Convert(Math.Abs(number), gender)}"; } var parts = new List(); @@ -38,8 +38,8 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd { // gender is not applied for billions parts.Add(number / 1000000000 >= 2 - ? string.Format("{0} bilhões", Convert(number / 1000000000, GrammaticalGender.Masculine)) - : string.Format("{0} bilhão", Convert(number / 1000000000, GrammaticalGender.Masculine))); + ? $"{Convert(number / 1000000000, GrammaticalGender.Masculine)} bilhões" + : $"{Convert(number / 1000000000, GrammaticalGender.Masculine)} bilhão"); number %= 1000000000; } @@ -48,8 +48,8 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd { // gender is not applied for millions parts.Add(number / 1000000 >= 2 - ? string.Format("{0} milhões", Convert(number / 1000000, GrammaticalGender.Masculine)) - : string.Format("{0} milhão", Convert(number / 1000000, GrammaticalGender.Masculine))); + ? $"{Convert(number / 1000000, GrammaticalGender.Masculine)} milhões" + : $"{Convert(number / 1000000, GrammaticalGender.Masculine)} milhão"); number %= 1000000; } @@ -57,7 +57,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd if ((number / 1000) > 0) { // gender is not applied for thousands - parts.Add(number / 1000 == 1 ? "mil" : string.Format("{0} mil", Convert(number / 1000, GrammaticalGender.Masculine))); + parts.Add(number / 1000 == 1 ? "mil" : $"{Convert(number / 1000, GrammaticalGender.Masculine)} mil"); number %= 1000; } @@ -92,7 +92,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd var lastPart = PortugueseTensMap[number / 10]; if ((number % 10) > 0) { - lastPart += string.Format(" e {0}", ApplyGender(PortugueseUnitsMap[number % 10], gender)); + lastPart += $" e {ApplyGender(PortugueseUnitsMap[number % 10], gender)}"; } parts.Add(lastPart); diff --git a/src/Humanizer/Localisation/NumberToWords/CentralKurdishNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/CentralKurdishNumberToWordsConverter.cs index 7f42786e7..39ba14c8c 100644 --- a/src/Humanizer/Localisation/NumberToWords/CentralKurdishNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/CentralKurdishNumberToWordsConverter.cs @@ -19,7 +19,7 @@ public override string Convert(long number) if (number < 0) { - return string.Format("نێگەتیڤ {0}", Convert(-number)); + return $"نێگەتیڤ {Convert(-number)}"; } if (number == 0) @@ -29,11 +29,11 @@ public override string Convert(long number) var kurdishGroupsMap = new Dictionary> { - {(long)Math.Pow(10, 15), n => string.Format("{0} کوادریلیۆن", Convert(n)) }, - {(long)Math.Pow(10, 12), n => string.Format("{0} تریلیۆن", Convert(n)) }, - {(long)Math.Pow(10, 9), n => string.Format("{0} میلیارد", Convert(n)) }, - {(long)Math.Pow(10, 6), n => string.Format("{0} میلیۆن", Convert(n)) }, - {(long)Math.Pow(10, 3), n => string.Format("{0} هەزار", Convert(n)) }, + {(long)Math.Pow(10, 15), n => $"{Convert(n)} کوادریلیۆن"}, + {(long)Math.Pow(10, 12), n => $"{Convert(n)} تریلیۆن"}, + {(long)Math.Pow(10, 9), n => $"{Convert(n)} میلیارد"}, + {(long)Math.Pow(10, 6), n => $"{Convert(n)} میلیۆن"}, + {(long)Math.Pow(10, 3), n => $"{Convert(n)} هەزار"}, {(long)Math.Pow(10, 2), n => KurdishHundredsMap[n]} }; @@ -68,7 +68,7 @@ public override string Convert(long number) public override string ConvertToOrdinal(int number) { var word = Convert(number); - return string.Format("{0}{1}", word, IsVowel(word[word.Length - 1]) ? "یەم" : "ەم"); + return $"{word}{(IsVowel(word[word.Length - 1]) ? "یەم" : "ەم")}"; } private bool IsVowel(char c) diff --git a/src/Humanizer/Localisation/NumberToWords/ChineseNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/ChineseNumberToWordsConverter.cs index 2ae778f2d..d79116f19 100644 --- a/src/Humanizer/Localisation/NumberToWords/ChineseNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/ChineseNumberToWordsConverter.cs @@ -27,7 +27,7 @@ private string Convert(long number, bool isOrdinal, bool isSpecial) if (number < 0) { - return string.Format("负 {0}", Convert(-number, false, false)); + return $"负 {Convert(-number, false, false)}"; } var parts = new List(); @@ -100,10 +100,10 @@ private string Convert(long number, bool isOrdinal, bool isSpecial) } else { - var lastPart = string.Format("{0}十", UnitsMap[number / 10]); + var lastPart = $"{UnitsMap[number / 10]}十"; if ((number % 10) > 0) { - lastPart += string.Format("{0}", UnitsMap[number % 10]); + lastPart += $"{UnitsMap[number % 10]}"; } parts.Add(lastPart); @@ -119,7 +119,7 @@ private string Convert(long number, bool isOrdinal, bool isSpecial) if (isOrdinal) { - toWords = string.Format("第 {0}", toWords); + toWords = $"第 {toWords}"; } return toWords; diff --git a/src/Humanizer/Localisation/NumberToWords/CroatianNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/CroatianNumberToWordsConverter.cs index b9f181dc0..26028fbdf 100644 --- a/src/Humanizer/Localisation/NumberToWords/CroatianNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/CroatianNumberToWordsConverter.cs @@ -30,7 +30,7 @@ public override string Convert(long input) if (number < 0) { - return string.Format("- {0}", Convert(-number)); + return $"- {Convert(-number)}"; } var parts = new List(); @@ -99,7 +99,7 @@ public override string Convert(long input) if (units > 0) { - parts.Add(string.Format(" {0}", UnitsMap[units])); + parts.Add($" {UnitsMap[units]}"); } } } diff --git a/src/Humanizer/Localisation/NumberToWords/DutchNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/DutchNumberToWordsConverter.cs index 67b3a15df..72cea2b73 100644 --- a/src/Humanizer/Localisation/NumberToWords/DutchNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/DutchNumberToWordsConverter.cs @@ -46,7 +46,7 @@ public override string Convert(long input) if (number < 0) { - return string.Format("min {0}", Convert(-number)); + return $"min {Convert(-number)}"; } var word = ""; diff --git a/src/Humanizer/Localisation/NumberToWords/EnglishNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/EnglishNumberToWordsConverter.cs index d58801bb6..2fe2d0869 100644 --- a/src/Humanizer/Localisation/NumberToWords/EnglishNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/EnglishNumberToWordsConverter.cs @@ -44,50 +44,50 @@ private string Convert(long number, bool isOrdinal, bool addAnd = true) if (number < 0) { - return string.Format("minus {0}", Convert(-number)); + return $"minus {Convert(-number)}"; } var parts = new List(); if ((number / 1000000000000000000) > 0) { - parts.Add(string.Format("{0} quintillion", Convert(number / 1000000000000000000))); + parts.Add($"{Convert(number / 1000000000000000000)} quintillion"); number %= 1000000000000000000; } if ((number / 1000000000000000) > 0) { - parts.Add(string.Format("{0} quadrillion", Convert(number / 1000000000000000))); + parts.Add($"{Convert(number / 1000000000000000)} quadrillion"); number %= 1000000000000000; } if ((number / 1000000000000) > 0) { - parts.Add(string.Format("{0} trillion", Convert(number / 1000000000000))); + parts.Add($"{Convert(number / 1000000000000)} trillion"); number %= 1000000000000; } if ((number / 1000000000) > 0) { - parts.Add(string.Format("{0} billion", Convert(number / 1000000000))); + parts.Add($"{Convert(number / 1000000000)} billion"); number %= 1000000000; } if ((number / 1000000) > 0) { - parts.Add(string.Format("{0} million", Convert(number / 1000000))); + parts.Add($"{Convert(number / 1000000)} million"); number %= 1000000; } if ((number / 1000) > 0) { - parts.Add(string.Format("{0} thousand", Convert(number / 1000))); + parts.Add($"{Convert(number / 1000)} thousand"); number %= 1000; } if ((number / 100) > 0) { - parts.Add(string.Format("{0} hundred", Convert(number / 100))); + parts.Add($"{Convert(number / 100)} hundred"); number %= 100; } @@ -107,7 +107,7 @@ private string Convert(long number, bool isOrdinal, bool addAnd = true) var lastPart = TensMap[number / 10]; if ((number % 10) > 0) { - lastPart += string.Format("-{0}", GetUnitValue(number % 10, isOrdinal)); + lastPart += $"-{GetUnitValue(number % 10, isOrdinal)}"; } else if (isOrdinal) { diff --git a/src/Humanizer/Localisation/NumberToWords/FarsiNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/FarsiNumberToWordsConverter.cs index 7399aac39..2c0b23b26 100644 --- a/src/Humanizer/Localisation/NumberToWords/FarsiNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/FarsiNumberToWordsConverter.cs @@ -13,7 +13,7 @@ public override string Convert(long number) { if (number < 0) { - return string.Format("منفی {0}", Convert(-number)); + return $"منفی {Convert(-number)}"; } if (number == 0) @@ -23,12 +23,12 @@ public override string Convert(long number) var farsiGroupsMap = new Dictionary> { - {(long)Math.Pow(10, 18), n => string.Format("{0} تریلیون", Convert(n)) }, - {(long)Math.Pow(10, 15), n => string.Format("{0} بیلیارد", Convert(n)) }, - {(long)Math.Pow(10, 12), n => string.Format("{0} بیلیون", Convert(n)) }, - {(long)Math.Pow(10, 9), n => string.Format("{0} میلیارد", Convert(n)) }, - {(long)Math.Pow(10, 6), n => string.Format("{0} میلیون", Convert(n)) }, - {(long)Math.Pow(10, 3), n => string.Format("{0} هزار", Convert(n)) }, + {(long)Math.Pow(10, 18), n => $"{Convert(n)} تریلیون"}, + {(long)Math.Pow(10, 15), n => $"{Convert(n)} بیلیارد"}, + {(long)Math.Pow(10, 12), n => $"{Convert(n)} بیلیون"}, + {(long)Math.Pow(10, 9), n => $"{Convert(n)} میلیارد"}, + {(long)Math.Pow(10, 6), n => $"{Convert(n)} میلیون"}, + {(long)Math.Pow(10, 3), n => $"{Convert(n)} هزار"}, {(long)Math.Pow(10, 2), n => FarsiHundredsMap[n]} }; @@ -74,7 +74,7 @@ public override string ConvertToOrdinal(int number) } var word = Convert(number); - return string.Format("{0}{1}", word, word.EndsWith("ی") ? " ام" : "م"); + return $"{word}{(word.EndsWith("ی") ? " ام" : "م")}"; } } } diff --git a/src/Humanizer/Localisation/NumberToWords/FinnishNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/FinnishNumberToWordsConverter.cs index 6d322170f..cf06d4f57 100644 --- a/src/Humanizer/Localisation/NumberToWords/FinnishNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/FinnishNumberToWordsConverter.cs @@ -24,7 +24,7 @@ public override string Convert(long input) if (number < 0) { - return string.Format("miinus {0}", Convert(-number)); + return $"miinus {Convert(-number)}"; } if (number == 0) @@ -38,7 +38,7 @@ public override string Convert(long input) { parts.Add(number / 1000000000 == 1 ? "miljardi " - : string.Format("{0}miljardia ", Convert(number / 1000000000))); + : $"{Convert(number / 1000000000)}miljardia "); number %= 1000000000; } @@ -47,7 +47,7 @@ public override string Convert(long input) { parts.Add(number / 1000000 == 1 ? "miljoona " - : string.Format("{0}miljoonaa ", Convert(number / 1000000))); + : $"{Convert(number / 1000000)}miljoonaa "); number %= 1000000; } @@ -56,7 +56,7 @@ public override string Convert(long input) { parts.Add(number / 1000 == 1 ? "tuhat " - : string.Format("{0}tuhatta ", Convert(number / 1000))); + : $"{Convert(number / 1000)}tuhatta "); number %= 1000; } @@ -65,19 +65,19 @@ public override string Convert(long input) { parts.Add(number / 100 == 1 ? "sata" - : string.Format("{0}sataa", Convert(number / 100))); + : $"{Convert(number / 100)}sataa"); number %= 100; } if (number >= 20 && (number / 10) > 0) { - parts.Add(string.Format("{0}kymmentä", Convert(number / 10))); + parts.Add($"{Convert(number / 10)}kymmentä"); number %= 10; } else if (number > 10 && number < 20) { - parts.Add(string.Format("{0}toista", UnitsMap[number % 10])); + parts.Add($"{UnitsMap[number % 10]}toista"); } if (number > 0 && number <= 10) @@ -109,36 +109,36 @@ private string ToOrdinal(int number, bool useExceptions) if ((number / 1000000000) > 0) { - parts.Add(string.Format("{0}miljardis", (number / 1000000000) == 1 ? "" : ToOrdinal(number / 1000000000, true))); + parts.Add($"{((number / 1000000000) == 1 ? "" : ToOrdinal(number / 1000000000, true))}miljardis"); number %= 1000000000; } if ((number / 1000000) > 0) { - parts.Add(string.Format("{0}miljoonas", (number / 1000000) == 1 ? "" : ToOrdinal(number / 1000000, true))); + parts.Add($"{((number / 1000000) == 1 ? "" : ToOrdinal(number / 1000000, true))}miljoonas"); number %= 1000000; } if ((number / 1000) > 0) { - parts.Add(string.Format("{0}tuhannes", (number / 1000) == 1 ? "" : ToOrdinal(number / 1000, true))); + parts.Add($"{((number / 1000) == 1 ? "" : ToOrdinal(number / 1000, true))}tuhannes"); number %= 1000; } if ((number / 100) > 0) { - parts.Add(string.Format("{0}sadas", (number / 100) == 1 ? "" : ToOrdinal(number / 100, true))); + parts.Add($"{((number / 100) == 1 ? "" : ToOrdinal(number / 100, true))}sadas"); number %= 100; } if (number >= 20 && (number / 10) > 0) { - parts.Add(string.Format("{0}kymmenes", ToOrdinal(number / 10, true))); + parts.Add($"{ToOrdinal(number / 10, true)}kymmenes"); number %= 10; } else if (number > 10 && number < 20) { - parts.Add(string.Format("{0}toista", GetOrdinalUnit(number % 10, true))); + parts.Add($"{GetOrdinalUnit(number % 10, true)}toista"); } if (number > 0 && number <= 10) diff --git a/src/Humanizer/Localisation/NumberToWords/GermanNumberToWordsConverterBase.cs b/src/Humanizer/Localisation/NumberToWords/GermanNumberToWordsConverterBase.cs index c21ba1d8d..e4574ac02 100644 --- a/src/Humanizer/Localisation/NumberToWords/GermanNumberToWordsConverterBase.cs +++ b/src/Humanizer/Localisation/NumberToWords/GermanNumberToWordsConverterBase.cs @@ -57,7 +57,7 @@ public override string Convert(long number, GrammaticalGender gender, bool addAn var units = number % 10; if (units > 0) { - parts.Add(string.Format("{0}und", UnitsMap[units])); + parts.Add($"{UnitsMap[units]}und"); } parts.Add(GetTens(number / 10)); diff --git a/src/Humanizer/Localisation/NumberToWords/HebrewNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/HebrewNumberToWordsConverter.cs index 7ecda3774..383323c00 100644 --- a/src/Humanizer/Localisation/NumberToWords/HebrewNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/HebrewNumberToWordsConverter.cs @@ -48,7 +48,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd if (number < 0) { - return string.Format("מינוס {0}", Convert(-number, gender)); + return $"מינוס {Convert(-number, gender)}"; } if (number == 0) @@ -99,7 +99,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd { var unit = Convert(number % 10, gender); unit = unit.Replace("יי", "י"); - unit = string.Format("{0} {1}", unit, gender == GrammaticalGender.Masculine ? "עשר" : "עשרה"); + unit = $"{unit} {(gender == GrammaticalGender.Masculine ? "עשר" : "עשרה")}"; if (appendAnd) { unit = "ו" + unit; @@ -117,7 +117,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd else { var unit = Convert(number % 10, gender); - parts.Add(string.Format("{0} ו{1}", tenUnit, unit)); + parts.Add($"{tenUnit} ו{unit}"); } } } diff --git a/src/Humanizer/Localisation/NumberToWords/JapaneseNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/JapaneseNumberToWordsConverter.cs index 3c8cbc4e4..8e8a396e6 100644 --- a/src/Humanizer/Localisation/NumberToWords/JapaneseNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/JapaneseNumberToWordsConverter.cs @@ -28,7 +28,7 @@ private string ConvertImpl(long number, bool isOrdinal) if (number < 0) { - return string.Format("マイナス {0}", ConvertImpl(-number, false)); + return $"マイナス {ConvertImpl(-number, false)}"; } var parts = new List(); @@ -59,7 +59,7 @@ private string ConvertImpl(long number, bool isOrdinal) if (isOrdinal) { - toWords = string.Format("{0}番目", toWords); + toWords = $"{toWords}番目"; } return toWords; diff --git a/src/Humanizer/Localisation/NumberToWords/KoreanNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/KoreanNumberToWordsConverter.cs index 32fbde9b3..36c4d16ee 100644 --- a/src/Humanizer/Localisation/NumberToWords/KoreanNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/KoreanNumberToWordsConverter.cs @@ -57,7 +57,7 @@ private string ConvertImpl(long number, bool isOrdinal) if (number < 0) { - return string.Format("마이너스 {0}", ConvertImpl(-number, false)); + return $"마이너스 {ConvertImpl(-number, false)}"; } var parts = new List(); @@ -88,7 +88,7 @@ private string ConvertImpl(long number, bool isOrdinal) if (isOrdinal) { - toWords = string.Format("{0}번째", toWords); + toWords = $"{toWords}번째"; } return toWords; diff --git a/src/Humanizer/Localisation/NumberToWords/NorwegianBokmalNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/NorwegianBokmalNumberToWordsConverter.cs index 8739033f3..692f2de28 100644 --- a/src/Humanizer/Localisation/NumberToWords/NorwegianBokmalNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/NorwegianBokmalNumberToWordsConverter.cs @@ -45,7 +45,7 @@ private string Convert(int number, bool isOrdinal, GrammaticalGender gender) if (number < 0) { - return string.Format("minus {0}", Convert(-number, isOrdinal, gender)); + return $"minus {Convert(-number, isOrdinal, gender)}"; } if (number == 1) @@ -120,7 +120,7 @@ private string Convert(int number, bool isOrdinal, GrammaticalGender gender) var lastPart = TensMap[number / 10]; if ((number % 10) > 0) { - lastPart += string.Format("{0}", GetUnitValue(number % 10, isOrdinal)); + lastPart += $"{GetUnitValue(number % 10, isOrdinal)}"; } else if (isOrdinal) { diff --git a/src/Humanizer/Localisation/NumberToWords/PortugueseNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/PortugueseNumberToWordsConverter.cs index 776bb804a..f9e111cdb 100644 --- a/src/Humanizer/Localisation/NumberToWords/PortugueseNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/PortugueseNumberToWordsConverter.cs @@ -29,7 +29,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd if (number < 0) { - return string.Format("menos {0}", Convert(Math.Abs(number), gender)); + return $"menos {Convert(Math.Abs(number), gender)}"; } var parts = new List(); @@ -39,7 +39,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd // gender is not applied for billions parts.Add(number / 1000000000 == 1 ? "mil milhões" - : string.Format("{0} mil milhões", Convert(number / 1000000000))); + : $"{Convert(number / 1000000000)} mil milhões"); number %= 1000000000; } @@ -48,8 +48,8 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd { // gender is not applied for millions parts.Add(number / 1000000 >= 2 - ? string.Format("{0} milhões", Convert(number / 1000000, GrammaticalGender.Masculine)) - : string.Format("{0} milhão", Convert(number / 1000000, GrammaticalGender.Masculine))); + ? $"{Convert(number / 1000000, GrammaticalGender.Masculine)} milhões" + : $"{Convert(number / 1000000, GrammaticalGender.Masculine)} milhão"); number %= 1000000; } @@ -57,7 +57,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd if ((number / 1000) > 0) { // gender is not applied for thousands - parts.Add(number / 1000 == 1 ? "mil" : string.Format("{0} mil", Convert(number / 1000, GrammaticalGender.Masculine))); + parts.Add(number / 1000 == 1 ? "mil" : $"{Convert(number / 1000, GrammaticalGender.Masculine)} mil"); number %= 1000; } @@ -92,7 +92,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd var lastPart = PortugueseTensMap[number / 10]; if ((number % 10) > 0) { - lastPart += string.Format(" e {0}", ApplyGender(PortugueseUnitsMap[number % 10], gender)); + lastPart += $" e {ApplyGender(PortugueseUnitsMap[number % 10], gender)}"; } parts.Add(lastPart); @@ -115,8 +115,8 @@ public override string ConvertToOrdinal(int number, GrammaticalGender gender) if ((number / 1000000000) > 0) { parts.Add(number / 1000000000 == 1 - ? string.Format("{0} {1}", ApplyOrdinalGender("milésimo", gender), ApplyOrdinalGender("milionésimo", gender)) - : string.Format("{0} {1} {2}", Convert(number / 1000000000), ApplyOrdinalGender("milésimo", gender), ApplyOrdinalGender("milionésimo", gender))); + ? $"{ApplyOrdinalGender("milésimo", gender)} {ApplyOrdinalGender("milionésimo", gender)}" + : $"{Convert(number / 1000000000)} {ApplyOrdinalGender("milésimo", gender)} {ApplyOrdinalGender("milionésimo", gender)}"); number %= 1000000000; } diff --git a/src/Humanizer/Localisation/NumberToWords/SerbianCyrlNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/SerbianCyrlNumberToWordsConverter.cs index f1f1a3c06..4a231ec9c 100644 --- a/src/Humanizer/Localisation/NumberToWords/SerbianCyrlNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/SerbianCyrlNumberToWordsConverter.cs @@ -31,7 +31,7 @@ public override string Convert(long input) if (number < 0) { - return string.Format("- {0}", Convert(-number)); + return $"- {Convert(-number)}"; } var parts = new List(); @@ -101,7 +101,7 @@ public override string Convert(long input) if (units > 0) { - parts.Add(string.Format(" {0}", UnitsMap[units])); + parts.Add($" {UnitsMap[units]}"); } } } diff --git a/src/Humanizer/Localisation/NumberToWords/SerbianNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/SerbianNumberToWordsConverter.cs index 4ffd20b5b..4a916cd5f 100644 --- a/src/Humanizer/Localisation/NumberToWords/SerbianNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/SerbianNumberToWordsConverter.cs @@ -30,7 +30,7 @@ public override string Convert(long input) if (number < 0) { - return string.Format("- {0}", Convert(-number)); + return $"- {Convert(-number)}"; } var parts = new List(); @@ -99,7 +99,7 @@ public override string Convert(long input) if (units > 0) { - parts.Add(string.Format(" {0}", UnitsMap[units])); + parts.Add($" {UnitsMap[units]}"); } } } diff --git a/src/Humanizer/Localisation/NumberToWords/SlovenianNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/SlovenianNumberToWordsConverter.cs index 8fe8fdddf..cda9e7033 100644 --- a/src/Humanizer/Localisation/NumberToWords/SlovenianNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/SlovenianNumberToWordsConverter.cs @@ -30,7 +30,7 @@ public override string Convert(long input) if (number < 0) { - return string.Format("minus {0}", Convert(-number)); + return $"minus {Convert(-number)}"; } var parts = new List(); @@ -97,7 +97,7 @@ public override string Convert(long input) var units = number % 10; if (units > 0) { - parts.Add(string.Format("{0}in", UnitsMap[units])); + parts.Add($"{UnitsMap[units]}in"); } parts.Add(TensMap[number / 10]); diff --git a/src/Humanizer/Localisation/NumberToWords/SwedishNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/SwedishNumberToWordsConverter.cs index 325c3420a..67d5eea3f 100644 --- a/src/Humanizer/Localisation/NumberToWords/SwedishNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/SwedishNumberToWordsConverter.cs @@ -42,7 +42,7 @@ public override string Convert(long input, GrammaticalGender gender, bool addAnd if (number < 0) { - return string.Format("minus {0}", Convert(-number, gender)); + return $"minus {Convert(-number, gender)}"; } var word = ""; diff --git a/src/Humanizer/Localisation/NumberToWords/TamilNumberToWordsConverter.cs b/src/Humanizer/Localisation/NumberToWords/TamilNumberToWordsConverter.cs index 6ffe99bd9..5071a4424 100644 --- a/src/Humanizer/Localisation/NumberToWords/TamilNumberToWordsConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/TamilNumberToWordsConverter.cs @@ -40,19 +40,19 @@ private string ConvertImpl(long number, bool isOrdinal) return GetUnitValue(0, isOrdinal); if (number < 0) - return string.Format("கழித்தல் {0}", Convert(-number)); + return $"கழித்தல் {Convert(-number)}"; var parts = new List(); if ((number / 1000000000000000000) > 0) { - parts.Add(string.Format("{0} quintillion", Convert(number / 1000000000000000000))); + parts.Add($"{Convert(number / 1000000000000000000)} quintillion"); number %= 1000000000000000000; } if ((number / 1000000000000000) > 0) { - parts.Add(string.Format("{0} quadrillion", Convert(number / 1000000000000000))); + parts.Add($"{Convert(number / 1000000000000000)} quadrillion"); number %= 1000000000000000; } @@ -126,7 +126,7 @@ private static string GetTensValue(long number, bool isOrdinal, bool isThousand else lastPart += "த்து "; - if (!isThousand) lastPart += string.Format("{0}", GetUnitValue(number % 10, isOrdinal)); + if (!isThousand) lastPart += $"{GetUnitValue(number % 10, isOrdinal)}"; } else if (number % 10 == 0) { diff --git a/src/Humanizer/Localisation/NumberToWords/TurkishNumberToWordConverter.cs b/src/Humanizer/Localisation/NumberToWords/TurkishNumberToWordConverter.cs index d2f4c7714..574d12985 100644 --- a/src/Humanizer/Localisation/NumberToWords/TurkishNumberToWordConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/TurkishNumberToWordConverter.cs @@ -42,52 +42,52 @@ public override string Convert(long input) if (number < 0) { - return string.Format("eksi {0}", Convert(-number)); + return $"eksi {Convert(-number)}"; } var parts = new List(); if ((number / 1000000000000000000) > 0) { - parts.Add(string.Format("{0} kentilyon", Convert(number / 1000000000000000000))); + parts.Add($"{Convert(number / 1000000000000000000)} kentilyon"); number %= 1000000000000000000; } if ((number / 1000000000000000) > 0) { - parts.Add(string.Format("{0} katrilyon", Convert(number / 1000000000000000))); + parts.Add($"{Convert(number / 1000000000000000)} katrilyon"); number %= 1000000000000000; } if ((number / 1000000000000) > 0) { - parts.Add(string.Format("{0} trilyon", Convert(number / 1000000000000))); + parts.Add($"{Convert(number / 1000000000000)} trilyon"); number %= 1000000000000; } if ((number / 1000000000) > 0) { - parts.Add(string.Format("{0} milyar", Convert(number / 1000000000))); + parts.Add($"{Convert(number / 1000000000)} milyar"); number %= 1000000000; } if ((number / 1000000) > 0) { - parts.Add(string.Format("{0} milyon", Convert(number / 1000000))); + parts.Add($"{Convert(number / 1000000)} milyon"); number %= 1000000; } var thousand = (number / 1000); if (thousand > 0) { - parts.Add(string.Format("{0} bin", thousand > 1 ? Convert(thousand) : "").Trim()); + parts.Add($"{(thousand > 1 ? Convert(thousand) : "")} bin".Trim()); number %= 1000; } var hundred = (number / 100); if (hundred > 0) { - parts.Add(string.Format("{0} yüz", hundred > 1 ? Convert(hundred) : "").Trim()); + parts.Add($"{(hundred > 1 ? Convert(hundred) : "")} yüz".Trim()); number %= 100; } @@ -132,7 +132,7 @@ public override string ConvertToOrdinal(int number) word = word.Substring(0, word.Length - 1); } - return string.Format("{0}{1}", word, wordSuffix); + return $"{word}{wordSuffix}"; } public override string ConvertToTuple(int number) @@ -155,7 +155,7 @@ public override string ConvertToTuple(int number) } } - return string.Format("{0}{1}", word, wordSuffix); + return $"{word}{wordSuffix}"; } } } diff --git a/src/Humanizer/Localisation/NumberToWords/UzbekCyrlNumberToWordConverter.cs b/src/Humanizer/Localisation/NumberToWords/UzbekCyrlNumberToWordConverter.cs index c0873c6b0..13000c831 100644 --- a/src/Humanizer/Localisation/NumberToWords/UzbekCyrlNumberToWordConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/UzbekCyrlNumberToWordConverter.cs @@ -19,7 +19,7 @@ public override string Convert(long input) var number = (int)input; if (number < 0) { - return string.Format("минус {0}", Convert(-number, true)); + return $"минус {Convert(-number, true)}"; } return Convert(number, true); @@ -94,7 +94,7 @@ public override string ConvertToOrdinal(int number) i = 1; } - return string.Format("{0}{1}", word, OrdinalSuffixes[i]); + return $"{word}{OrdinalSuffixes[i]}"; } } } diff --git a/src/Humanizer/Localisation/NumberToWords/UzbekLatnNumberToWordConverter.cs b/src/Humanizer/Localisation/NumberToWords/UzbekLatnNumberToWordConverter.cs index 117cfcc50..0563b9322 100644 --- a/src/Humanizer/Localisation/NumberToWords/UzbekLatnNumberToWordConverter.cs +++ b/src/Humanizer/Localisation/NumberToWords/UzbekLatnNumberToWordConverter.cs @@ -19,7 +19,7 @@ public override string Convert(long input) var number = (int)input; if (number < 0) { - return string.Format("minus {0}", Convert(-number, true)); + return $"minus {Convert(-number, true)}"; } return Convert(number, true); @@ -94,7 +94,7 @@ public override string ConvertToOrdinal(int number) i = 1; } - return string.Format("{0}{1}", word, OrdinalSuffixes[i]); + return $"{word}{OrdinalSuffixes[i]}"; } } } diff --git a/src/Humanizer/Localisation/Ordinalizers/RomanianOrdinalizer.cs b/src/Humanizer/Localisation/Ordinalizers/RomanianOrdinalizer.cs index 989ba1902..ffbd02977 100644 --- a/src/Humanizer/Localisation/Ordinalizers/RomanianOrdinalizer.cs +++ b/src/Humanizer/Localisation/Ordinalizers/RomanianOrdinalizer.cs @@ -29,10 +29,10 @@ public override string Convert(int number, string numberString, GrammaticalGende if (gender == GrammaticalGender.Feminine) { - return string.Format("a {0}-a", numberString); + return $"a {numberString}-a"; } - return string.Format("al {0}-lea", numberString); + return $"al {numberString}-lea"; } } diff --git a/src/Humanizer/ToQuantityExtensions.cs b/src/Humanizer/ToQuantityExtensions.cs index 204a98945..173976d4a 100644 --- a/src/Humanizer/ToQuantityExtensions.cs +++ b/src/Humanizer/ToQuantityExtensions.cs @@ -116,7 +116,7 @@ private static string ToQuantity(this string input, long quantity, ShowQuantityA return string.Format(formatProvider, "{0} {1}", quantity.ToString(format, formatProvider), transformedInput); } - return string.Format("{0} {1}", quantity.ToWords(), transformedInput); + return $"{quantity.ToWords()} {transformedInput}"; } ///