65.9K
CodeProject 正在变化。 阅读更多。
Home

CaseConverter:一个用于转换为不同大小写风格的类

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2024年2月6日

MIT
viewsIcon

3154

downloadIcon

138

使用这个简单易用的类,可以轻松地将标识符从一种大小写风格转换为另一种大小写风格。

引言

我写过两次这段代码。第一次,我把它弄丢在了 Azure 的深处。我编写了很多代码生成器,因此能够将例如 camelCase 转换为 snake_case,或者将 IPAddress 转换为 IP_ADDRESS 尤其有用。

Using the Code

你可以用这段代码做两件事。第一件事是,你可以将一个字符串分割成多个片段(“单词”),每个片段包含标识符的一部分。例如,“IPAddress”会得到“IP”和“Address”,而“WiFi”会得到“Wi”和“Fi”。你可以使用 SplitCase() 函数来做到这一点,该函数接收一个字符串并返回一个字符串数组。

你可以做的另一件事是使用 Convert() 转换为不同的样式。Convert 接收一个字符串和一个 CaseStyle 并返回一个字符串。

using CaseConvert;
var exps = new string[]
{
    "foobar",
    "foo_baz",
    "IPAddress",
    "SQL92",
    "WiFi",
    "ISO8601",
    "fuBar",
    "C89"
};

for(int i = 0; i < exps.Length; i++)
{
    var sa = CaseConverter.SplitCase(exps[i]);
    Console.WriteLine("segments: "+string.Join(", ",sa)); 
    Console.WriteLine(CaseConverter.Convert(exps[i], CaseStyle.PascalCase));
    Console.WriteLine(CaseConverter.Convert(exps[i], CaseStyle.CamelCase));
    Console.WriteLine(CaseConverter.Convert(exps[i], CaseStyle.SnakeCase));
    Console.WriteLine(CaseConverter.Convert(exps[i], CaseStyle.DashCase));
    Console.WriteLine(CaseConverter.Convert(exps[i], CaseStyle.MacroCase));
    Console.WriteLine();
}

历史

  • 2024年2月6日 - 初始提交
© . All rights reserved.