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

だから私の質問は、文字列の一部を置き換える方法ですので、この例に基づいていますかintTabID5

これを検索したところ、次のリンクが見つかりました: C#文字列の一部を置き換える

これは、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

これはうまくいくはずです

int intWidgetID = int.Parse(strTabID.Replace("tab_group_",""));//Can also use TryParse
于 2012-07-18T11:41:23.580 に答える
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 に答える