c# - 如何拆分字符串然后将字符串的每个部分放在文本框中

标签 c# string split ip

string ip = ini.IniReadValue("Settings", "ip");
string[] ip2 = ip.Split('.');
foreach (var part in ip2)
{
    textBox3.Text = part[0].ToString();
    textBox4.Text = part[1].ToString();
    textBox5.Text = part[2].ToString();
    textBox6.Text = part[3].ToString();
}

大家好,我的问题是 textBox3 中只有一个 1,而我希望它有 123 作为记录,ip = 123.456.789.101 用于测试目的。

这是结果: result

它在设置 textBox6 时也会崩溃:索引在数组的边界之外。

最佳答案

让我们手动跟踪您的代码:

  1. ip2 包含数组 {"123", "456", "789", "101"}
  2. 然后您将在 foreach 循环中迭代数组,因此 part 成为每个字符串 "123", 依次为“456”“789”“101”
  3. 然后您将索引到字符串(带方括号),它访问字符串中的各个 char。所以在第一个循环中,
    • 部分[0]'1',
    • 部分[1]'2',
    • part[2]'3',并且
    • part[3] 超出了字符串的范围(长度=3)。

请注意,您需要调用 ToString() 也是一个很好的指标,表明出现了问题。

相反,你想要(没有 foreach 循环),

string ip = ini.IniReadValue("Settings", "ip");
string[] ip2 = ip.Split('.');
textBox3.Text = ip2[0];
textBox4.Text = ip2[1];
textBox5.Text = ip2[2];
textBox6.Text = ip2[3];

关于c# - 如何拆分字符串然后将字符串的每个部分放在文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18993885/

相关文章:

c# - C++ API 自动转换为 C#?

java - 了解 Java 中字符串比较的工作原理

java - 使用 indexOf 将占位符替换为 Map 值

google-sheets - 返回排除另一个列表的唯一列表

c# - 为什么等待此任务 1022 毫秒工作正常,但 1023 毫秒会导致 AggregateException?

c# - 尝试 GetRequestStream() 时无法连接到远程服务器

c# - 在 C# MVC3 中跨 Controller 重用 session

ios - 如何通过扩展将空字符串替换为某个常量值?

javascript - 在 JavaScript 中匹配和拆分中文逗号的正则表达式

r - 使用 split 函数按因子对数据帧进行分组,大型数据帧的替代方案