C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

C#上での半角→全角

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■103949 / inTopicNo.1)  C#上での半角→全角
  ▼■
□投稿者/ 真田安房守 (4回)-(2026/10/14(Wed) 14:34:17)

分類:[ASP.NET (C#)] 

c#にstrConv関数的なの標準関数が存在しないため、現実的にはMicroSoft.Visualbasicをusingの上、
String.StrConvで反関するしかないと思いますが(APIを使うと冗長になるのでそれよりはVBの関数使用のほうが良い)

環境的にSharePointのリファレンスを使用する必要があり、その状況でMicroSoft.Visualbasicをusingしても、
SharePointのStringsを優先的に認識してしまって、StrConvが使えません。
(MicroSoft.Visualbasic.Stringsはusingすらできない)

解消する方法はあるでしょうか?
なければ諦めます。

要件的にはある画面のボタン名(機能名)に使う定数の一部が半角カタカナで、メールの件名では全角なので、
ボタン名用定数をstrconv的な関数で全角変換して使いたい的な話です。
引用返信 編集キー/
■103950 / inTopicNo.2)  Re[1]: C#上での半角→全角
▲▼■
□投稿者/ 魔界の仮面弁士 (3913回)-(2026/10/14(Wed) 18:02:57)
■No103949 (真田安房守 さん) に返信
> 環境的にSharePointのリファレンスを使用する必要があり、その状況でMicroSoft.Visualbasicをusingしても、
> SharePointのStringsを優先的に認識してしまって、StrConvが使えません。

SharePoint環境が手元に無いので確認できませんが、
Microsoft.VisualBasic.dll を参照設定していますか?
using と参照設定は別物です。


> (MicroSoft.Visualbasic.Stringsはusingすらできない)
名前空間が間違っていますよ。
MicroSoft.Visualbasic.Strings ではなく
Microsoft.VisualBasic.Strings を試してみてください。

あるいは using を使わずに、フルネームで
Microsoft.VisualBasic.Strings.StrConv と記述してみてください。
引用返信 編集キー/
■103951 / inTopicNo.3)  Re[1]: C#上での半角→全角
▲▼■
□投稿者/ WebSurfer (5回)-(2026/10/15(Thu) 09:56:47)
■No103949 (真田安房守 さん) に返信

開発環境を書いてください。

先の質問と同じ .NET Framework 4.8.1 の ASP.NET Web Forms アプリならその旨書いて、さらに
Web サイトプロジェクト / Web アプルケーションプロジェクトのどちらなのかを書いてください。
それによって参照設定のやり方が違いますので。

using と参照設定が違うのは魔界の仮面弁士さんが述べられた通り。参照設定をしないとダメです。

> 環境的にSharePointのリファレンスを使用する必要があり、その状況でMicroSoft.Visualbasicをusingしても、
> SharePointのStringsを優先的に認識してしまって、StrConvが使えません。
> (MicroSoft.Visualbasic.Stringsはusingすらできない)

その原因は、参照設定ができていない、名前空間のスペルが間違っているということでしょう。

SharePoint の Strings クラス (Microsoft.SharePoint.Strings) のメソッドとバッティングするなら、
using Microsoft.VisualBasic; は使わないで、Microsoft.VisualBasic.Strings.Str.Conv と言うよう
に名前空間から指定すれば良いはずです。

引用返信 編集キー/
■103952 / inTopicNo.4)  Re[1]: C#上での半角→全角
▲▼■
□投稿者/ WebSurfer (6回)-(2026/10/15(Thu) 10:15:42)
■No103949 (真田安房守 さん) に返信

誤記訂正

誤: Microsoft.VisualBasic.Strings.Str.Conv と言うよう
正: Microsoft.VisualBasic.Strings.StrConv と言うよう
引用返信 編集キー/
■103953 / inTopicNo.5)  Re[2]: C#上での半角→全角
▲▼■
□投稿者/ 真田安房守 (6回)-(2026/10/15(Thu) 14:15:01)
■No103950 (魔界の仮面弁士 さん) に返信
> ■No103949 (真田安房守 さん) に返信
>>環境的にSharePointのリファレンスを使用する必要があり、その状況でMicroSoft.Visualbasicをusingしても、
>>SharePointのStringsを優先的に認識してしまって、StrConvが使えません。
>
> SharePoint環境が手元に無いので確認できませんが、
> Microsoft.VisualBasic.dll を参照設定していますか?
> using と参照設定は別物です。
>
>
>>(MicroSoft.Visualbasic.Stringsはusingすらできない)
> 名前空間が間違っていますよ。
> MicroSoft.Visualbasic.Strings ではなく
> Microsoft.VisualBasic.Stringsが を試してみてください。

それで試してダメです。
Microsoft.VisualBasic までかけますがStrings候補に出てこず、書いても赤波線になります。


> あるいは using を使わずに、フルネームで
> Microsoft.VisualBasic.Strings.StrConv と記述してみてください。

これも試しましたが同様にダメです。
using Microsoft.VisualBasic;

を書いて、Stringsと書くとSharePointのStringsとみなされるため、
上記をいずれも試したがダメな状態です。

引用返信 編集キー/
■103954 / inTopicNo.6)  Re[2]: C#上での半角→全角
▲▼■
□投稿者/ 真田安房守 (7回)-(2026/10/15(Thu) 14:29:19)
■No103950 (魔界の仮面弁士 さん) に返信
> ■No103949 (真田安房守 さん) に返信
>>環境的にSharePointのリファレンスを使用する必要があり、その状況でMicroSoft.Visualbasicをusingしても、
>>SharePointのStringsを優先的に認識してしまって、StrConvが使えません。
>
> SharePoint環境が手元に無いので確認できませんが、
> Microsoft.VisualBasic.dll を参照設定していますか?
> using と参照設定は別物です。
>

こっちも試してみましたが、Stringsは出てきませんね。
FileIOとかLoggingは出てくるようになりましたが。

やはりSharePoint環境依存でそうでないと再現しない問題の気はします。

要は、単にNamespace被りが原因なら、フルスペルで書けば解決するはずです。
なのでSharePoint環境のみで発生する現象と推量している段階です
引用返信 編集キー/
■103955 / inTopicNo.7)  Re[3]: C#上での半角→全角
▲▼■
□投稿者/ 真田安房守 (8回)-(2026/10/15(Thu) 14:50:15)
■No103954 (真田安房守 さん) に返信
> ■No103950 (魔界の仮面弁士 さん) に返信
>>■No103949 (真田安房守 さん) に返信
> >>環境的にSharePointのリファレンスを使用する必要があり、その状況でMicroSoft.Visualbasicをusingしても、
> >>SharePointのStringsを優先的に認識してしまって、StrConvが使えません。
>>
>>SharePoint環境が手元に無いので確認できませんが、
>>Microsoft.VisualBasic.dll を参照設定していますか?
>>using と参照設定は別物です。
>>
>
> こっちも試してみましたが、Stringsは出てきませんね。
> FileIOとかLoggingは出てくるようになりましたが。
>
> やはりSharePoint環境依存でそうでないと再現しない問題の気はします。
>
> 要は、単にNamespace被りが原因なら、フルスペルで書けば解決するはずです。
> なのでSharePoint環境のみで発生する現象と推量している段階です

違いました。
using VB=Microsoft.VisualBasic;
としたら、
VB.Stringsで認識しました。

解決済み
引用返信 編集キー/
■103956 / inTopicNo.8)  Re[4]: C#上での半角→全角
▲▼■
□投稿者/ WebSurfer (7回)-(2026/10/15(Thu) 18:33:56)
■No103955 (真田安房守 さん) に返信

> using VB=Microsoft.VisualBasic;
> としたら、
> VB.Stringsで認識しました。

それは VB というエイリアスを作っているだけです。
なので、Microsoft.VisualBasic.Strings で解決できなかったものが VB.Strings にして
解決するということはあり得ません。

引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ