c# - C#中Lastindexof和Remove的使用用于数据库混淆

标签 c# mysql sql database winforms

好吧,我尝试了所有我无法让它工作的方法,但它没有显示任何内容:

        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/

相关文章:

sql - 修改 Group By 以获得正确的结果

c# 事件目录临时组成员身份?

c# - 将控件数组添加到 aspx 页面

mysql - 由于外键错误而无法创建表

mysql - 添加外键时在mysql中死锁

php - 让我的查询更短、更快、更好

c# - 自定义 html 帮助程序中的 css id

c# - 在 C# 控制台应用程序中使用 Windows 8 API (VideoCaptureDevices)

SQL Server 按日期和日期范围内的一天中的时间分组

java - JOOQ 查询 JOIN ON WITH 子句