0

我在以下方面遇到困难。

在 VB.Net 中,我有以下行:

Dim intWidgetID As Integer = CType(Replace(strWidget, "portlet_", ""), Integer)

在哪里strWidget = portlet_n

其中n可以是任何整数,即

portlet_5

我正在尝试将此代码转换为 C#,但我不断收到错误,我目前有这个:

intTabID = Convert.ToInt32(Strings.Replace(strTabID, "tab_group_", ""));

我使用在线转换器得到的

但是不喜欢Strings

所以我的问题是,如何替换字符串的一部分,所以intTabID基于5这个例子?

我已经对此进行了搜索,并找到了此链接: C# Replace part of a string

如果没有 c# 中的正则表达式就不能做到这一点,所以基本上,我试图生成与原始 vb.net 示例代码尽可能相似的代码。

4

4 回答 4

2

应该是这样的strTabID.Replace("tab_group_", string.Empty);

    int intTabID = 0;
    string value = strTabID.Replace("tab_group_", string.Empty);
    int.TryParse(value, out intTabID);

    if (intTabID > 0)
    { 

    }

在您的代码中,我认为您需要将“tab_group_”替换为“portlet_”

于 2012-07-18T11:36:34.793 回答
0

而不是Strings.Replace(strTabID, "tab_group_", ""),使用strTabID.Replace("tab_group_", "").

于 2012-07-18T11:35:39.073 回答
0

它们在 Vb.Net 中没有字符串类,因此请改用字符串类http://msdn.microsoft.com/en-us/library/aa903372(v=vs.71).aspx

你可以通过这种方式实现它

string strWidget = "portlet_n";

int intWidgetID  = Convert.ToInt32(strWidget.Split('_')[1]);
于 2012-07-18T11:36:13.950 回答
0

这应该工作

int intWidgetID = int.Parse(strTabID.Replace("tab_group_",""));//Can also use TryParse
于 2012-07-18T11:41:23.580 回答