好吧,我尝试了所有我无法让它工作的方法,但它没有显示任何内容:
foreach (DataRow dr in dt.Rows)
{
keyNameTextBox.Text = dr["KeyName"].ToString().Remove(keyNameTextBox.Text.LastIndexOf("_") + 1); ;
keyTextBox.Text = dr["Key"].ToString();
}
如果我在 .Remove (0 然后它给我的结果很好,但只有 _ 之后的所有内容
但我的目标是看到 _ 之前的所有内容,不包括 _
我看到了一个 Stack Overflow 帖子,它帮助我了解了 indexof 和 remove,但由于某种原因,两者都不适合我,是因为我在 foreach 中吗?我该如何解决它?任何帮助都会很棒!
我使用的来源: Remove characters after specific character in string, then remove substring?
最佳答案
这里
dr["KeyName"].ToString().Remove(keyNameTextBox.Text.LastIndexOf("_") + 1);
您在一个字符串 (keyNameTextBox.Text
) 中搜索并从另一个字符串 (dr["KeyName"].ToString()
) 中删除。
你真正需要的是这样的:
var keyName = dr["KeyName"].ToString();
keyNameTextBox.Text = keyName.Remove(keyName.LastIndexOf("_") + 1);
关于c# - C#中Lastindexof和Remove的使用用于数据库混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42097032/