c# - 如何用字符串拆分计算行数
问题描述
我正在尝试完成几周前到期的练习作业(未评分),但我终其一生都无法弄清楚哪里出了问题。我需要输出为“1 2 快速 3 棕色 4 狐狸 5 跳 6 超过 7 8 懒惰 9 狗”我有拆分字符串,所以我可以记下所有单词,只是无法得到它之前的数字。到目前为止我有这个
int ctr = 0;
string sentance = "The quick brown fox jumped over the lazy dog. ";
string[] split = sentance.Split(new char[] { ' ', '.' });
foreach (string s in split)
{
if (s.Trim() != "")
Console.WriteLine("{0} {2}", ctr++, s);
}
Console.ReadLine();
我一直得到的只是一个未处理的异常,我不知道为什么。
解决方案
在行
Console.WriteLine("{0} {2}", ctr++, s);
{0}
指后面列表中的第零个元素;那将是ctr++
。
{1}
,如果你使用它,会参考下一个,s
。
{2}
,您确实使用过,如果有下一个,则将引用下一个,但没有;这就是你的问题。
没有 #2 变量(计数 0、1、2)可以填写{2}
。
尝试
Console.WriteLine("{0} {1}", ctr++, s);
你应该看到{1}
捡起来s
。
您的错误消息可能类似于“索引(基于零)必须大于或等于零且小于参数列表的大小”
这意味着您的索引 2 in{2}
是问题所在。它符合第一部分(“大于或等于零”)但第二部分失败(“小于参数列表的大小”),因为您的参数列表只有 2 长(ctr++
和s
),但 2(您的索引在{2}
) 不小于 2(参数列表的大小)。
你也有一个与 的值不一致的问题ctr
,但这应该足以让你回到正轨。
推荐阅读
- raspberry-pi3 - 如何在 pi3 上安装签名版本?
- css - react-native:仅适用于 android/ios 的平台特定样式代码
- typo3 - 如何在 TYPO3 9.5.5 中正确设置 tx-news 的 url-routing?
- php - PHP - 使用 SESSION 的权限问题
- java - Selenium:无法单击通过 JS 和简单格式化方式完成查找元素时找到的按钮
- r - Linux RStudio 版本似乎在寻找 Windows 插件
- blockchain - 在 mac 上执行 runnodes 命令时出错
- android - 通过 SQL Server Express 将 Android 应用程序连接到 MySQL
- laravel - 在不使用 foreach 的情况下将值传递给刀片
- odoo - 操作窗口odoo中的域和搜索视图