Kri*_*itz -4 c# string camelcasing
我的代码有问题.我不知道我做错了什么.我想让用户写一些句子,然后程序应该将书面句子分成单个单词,我在数组中每个单词的第一个字符上使用ToUpper,然后再次连接在一起,没有空格.
我的代码是:
static void Skrci(string stavek)
{
string[] p;
p = stavek.Split(' '); // polje separatov
for (int i = 0; i < p.Length; i++)
{
if (p[i].Length > 0)
{
char zacetnica = Char.ToUpper(p[i][0]);
p[i] = p[i].Remove(0, 1);
p[i] = p[i].Insert(0, zacetnica.ToString());
}
}
stavek = string.Join(" ", p);
}
static void Main(string[] args)
{
string[] p = null;
Console.Write("Vpiši nek stavek: ");
string stavek = Console.ReadLine();
Skrci(stavek);
Console.WriteLine(stavek);
Console.ReadKey(true);
}
Run Code Online (Sandbox Code Playgroud)
我尝试了Step,看看我是否能看到错误但我不知道.
您的问题是您的函数Skrci没有返回值(或者更新它的参数(通过引用))
这是一个快速解决方案
static string Skrci(string stavek)
{
string[] p;
p = stavek.Split(' '); // polje separatov
for (int i = 0; i < p.Length; i++)
{
if (p[i].Length > 0)
{
char zacetnica = Char.ToUpper(p[i][0]);
p[i] = p[i].Remove(0, 1);
p[i] = p[i].Insert(0, zacetnica.ToString());
}
}
return string.Join(" ", p);
}
static void Main(string[] args)
{
string[] p = null;
Console.Write("Vpiši nek stavek: ");
string stavek = Console.ReadLine();
stavek = Skrci(stavek);
Console.WriteLine(stavek);
Console.ReadKey(true);
}
Run Code Online (Sandbox Code Playgroud)
将字符串转换为Camel Case的一种简单方法是创建以下扩展方法:
public static String ToCamelCase(this String source)
{
return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(source.ToLower());
}
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
string stavek = Console.ReadLine().ToCamelCase();
Run Code Online (Sandbox Code Playgroud)
编辑:
如果你想删除单词之间的空格,你当然可以简单地添加.Replace(" ", "")到最后.
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |