我遇到以下问题。
在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示例代码尽可能相似的代码。
答案 0 :(得分: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 _”
答案 1 :(得分:0)
而不是Strings.Replace(strTabID, "tab_group_", "")
,请使用strTabID.Replace("tab_group_", "")
。
答案 2 :(得分: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]);
答案 3 :(得分:0)
这应该有效
int intWidgetID = int.Parse(strTabID.Replace("tab_group_",""));//Can also use TryParse