C# 尝试将方法从字符串转换为整数
我正在编写一个程序,它将计算用户编写的字符串中包含的逗号数量 我使用另一种方法来实现这一点,在这种方法中,对写入的字符串进行分析,并返回逗号的数量 我遇到的问题是,我使用的是一个字符串,如果有意义的话,它需要在方法中转换为整数 我知道,只需删除该方法并在“main”中编写代码,就可以更轻松地完成这项工作,但我不想这样做,因为我将扩展该程序,以同时分析所编写字符串中的句号数量和分号数量 这是我的密码:C# 尝试将方法从字符串转换为整数,c#,methods,C#,Methods,我正在编写一个程序,它将计算用户编写的字符串中包含的逗号数量 我使用另一种方法来实现这一点,在这种方法中,对写入的字符串进行分析,并返回逗号的数量 我遇到的问题是,我使用的是一个字符串,如果有意义的话,它需要在方法中转换为整数 我知道,只需删除该方法并在“main”中编写代码,就可以更轻松地完成这项工作,但我不想这样做,因为我将扩展该程序,以同时分析所编写字符串中的句号数量和分号数量 这是我的密码: static void Main(string[] args) { Co
static void Main(string[] args)
{
Console.WriteLine("Enter a text:");
string text = Console.ReadLine();
int count = 0;
count = NumberOfCommas(text);
int kommaCount = count;
int NumberOfCommas(int text1)
{
foreach (char letter in text)
{
if (letter == ',' )
{
count++;
}
}
return count;
}
Console.WriteLine("There's {0} comma(s) in your text.", kommaCount);
Console.ReadKey();
}
我得到的错误代码是“无法从'string'转换为'int'。(代码引用了此行的'text'部分:count=NumberOfCommas(text);
)
我希望我解释得很好,所以我的问题是:如何解决这个问题?将函数签名更改为
int NumberOfCommas(string text1) { ...
同时将此函数移出
主功能。将函数签名更改为
int NumberOfCommas(string text1) { ...
同时将此函数移出主函数。这是因为您的方法签名。
int NumberOfCommas(int text1)
正在查找int text1
,它应该是string text1
另外,我想指出两件事。首先,您使用的是一个局部函数。这没有什么错,而且对于您在这里所做的事情来说,这很好。我可能建议您将其拉出,因为它实际上没有任何变量要求它保持方法的作用域
另一件事是你认为其他人更喜欢你把它全部放在main
中,但是你说
我将扩大这个项目
所以你决定反对。。。
这是一件好事,也是一种正确的思考/发展方式。因此,如果有人为了简单起见让你把它放在main中,我会告诉你坚持你的观点。你的逻辑是正确的。这是因为你的方法签名。
static void Main(string[] args)
{
Console.WriteLine("Enter a text:");
string text = Console.ReadLine();
int count = 0;
count = NumberOfCommas(text);
Console.WriteLine("There's {0} comma(s) in your text.", count);
Console.ReadKey();
}
int NumberOfCommas(String text1)
{
int count;
foreach (char letter in text1)
{
if (letter == ',' )
{
count++;
}
}
return count;
}
int NumberOfCommas(int text1)
正在查找int text1
,它应该是string text1
另外,我想指出两件事。首先,您使用的是一个局部函数。这没有什么错,而且对于您在这里所做的事情来说,这很好。我可能建议您将其拉出,因为它实际上没有任何变量要求它保持方法的作用域
另一件事是你认为其他人更喜欢你把它全部放在main
中,但是你说
我将扩大这个项目
所以你决定反对。。。
这是一件好事,也是正确的思考/发展方式,所以如果有人告诉你为了简单起见把它放在main中,我会告诉你坚持你的观点。你的逻辑是正确的
static void Main(string[] args)
{
Console.WriteLine("Enter a text:");
string text = Console.ReadLine();
int count = 0;
count = NumberOfCommas(text);
Console.WriteLine("There's {0} comma(s) in your text.", count);
Console.ReadKey();
}
int NumberOfCommas(String text1)
{
int count;
foreach (char letter in text1)
{
if (letter == ',' )
{
count++;
}
}
return count;
}
有几个错误。函数的参数数据类型应该是字符串,foreach循环中的文本应该是text1。并且您不需要计算变量
有几个错误。函数的参数数据类型应该是字符串,foreach循环中的文本应该是text1。并且您不需要计算变量。您好,您的方法参数是int
,但您将字符串作为参数传递。您好,您的方法参数是int
,但您传递了字符串代码>作为参数。这很有帮助!非常感谢。这很有帮助!非常感谢。