【发布时间】:2016-08-25 19:03:15
【问题描述】:
这个应用程序相当简单,我没有收到任何错误或警告。 它只返回单词“Hello”,而不会移动到单词“Bill”。它通过输入 Hello 和 Bill 来工作。
研究: http://www.dotnetperls.com/split
https://msdn.microsoft.com/en-us/library/dy85x1sa(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.string.split(v=vs.110).aspx
任何提示或修复都会很棒!
static void Main(string[] args)
{
//Varaibles and Condition Types
string WordiIntitalString = Console.ReadLine();
//outputs "hello bill"
char[] delimiterChars = { ' ' };
string[] WordArray = WordiIntitalString.Split(delimiterChars);
foreach(var word in WordArray)
{
//Console.WriteLine(word);
if (word.Equals("hello"))
{
Console.WriteLine(word);
Thread.Sleep(1000);
if (word.Contains("bill"))
{
Console.WriteLine("jarvis");
Thread.Sleep(1000);
}
}
Thread.Sleep(1000);
}
包含正在尝试在代码顶部查找分支。因此,如果您执行 hello bill,则它会找到分支。这个方法在我看来非常有效,但是如果您对更好的方法有任何建议,请发表评论!
【问题讨论】:
-
因为你的第一个
if -
我也不理解所有的反对意见。这位先生有一个他无法回答的问题。他很清楚他想要回答什么,并提供了代码。不要仅仅因为您认为这个问题太简单而投反对票。
-
@bravosierra99 查看向下箭头的鼠标悬停文本:“这个问题没有显示任何研究工作;不清楚或没有用。”考虑到问题是多么基本(并且相对明显),投票者显然认为这并没有反映出太多的努力。
-
@EdCottrell 我认为很容易忘记代码的早期难度。由于他没有收到错误,因此如果您缺少关键概念,可能很难进行研究。显然他不理解嵌套条件。不知道为什么这意味着他应该得到一堆反对票。我想这只是我的看法,但考虑到这应该是一个你可以去提问的地方,似乎不是很吸引人。
-
@bravosierra99 我同意很容易忘记学习编码有多难。也就是说,很明显
word equals "hello"和word contains "bill"不可能都为真。该站点欢迎新程序员提出问题,但它是supposed to be "a question and answer site for professional and enthusiast programmers"。它不是学习编码最基本方面的地方,比如if语句后面的大括号是干什么用的。你和我都确实试图回答 OP 的问题,但这并不能使它成为一个经过充分研究的问题。
标签: c++ arrays if-statement split