2012-01-22 4 views
3

プログラム内の多数の場所に同じ種類のテキストが入力されている場合は、これを文字列変数に抽出する方法はありますか、これが最初に入力された各場所で、 ?Visual Studio C# - 文字列変数にテキストを抽出できますか?

例えば、私は、次のコードを持っている:

string s1 = "C:\\whatever.txt"; 

if(File.Exists(s1)) 
{ 
    File.Delete(s1); 
} 

私はこれは私が最初にやるべきことですが、私は「言うことができます知っている:

if(File.Exists("C:\\whatever.txt")) 
{ 
    File.Delete("C:\\whatever.txt"); 
} 

私はこのにすることをリファクタリングできますプログラムのロジックが最初にソートされた後、コードを整理して、Visual Studioにこれを行うためのショートカットがあるのか​​、それとも手動で行う必要があるのでしょうか?

ありがとうございました

+0

em、hi、find&replaceで十分ではありませんか? – Jaxedin

+0

私はfindとreplaceを使うことができると知っています。ちょっと変わった選択肢があるかどうか疑問に思っていました。@ Tigranメモ帳で* .csファイルを開いて、テキスト自体を検索して置き換えることができますか?しかし、以下の人々は私が調べるResharperを提案しました=) – JMK

+0

ああ、私は参照してください。私の悪い: – Jaxedin

答えて

5

あなたがResharperを使用する場合は、あなただけのプレスCTRL +R変数を導入する + V最初の文字列を、選択することができます。同じ文字列の場合は、両方を導入する変数に置き換えるかどうか尋ねられます。

CTRL + SHIFT + Rはまた、他のリファクタリングオプションはVisual Studioを使用する場合は、あなたが本当にReSharperのを持っている必要があり

などの変数、パラメータ、フィールドを、ご紹介したいと示して別の良いキーボードショートカットですイモ!

+0

彼らはすべて非常に似ていたので、最高の答えを選択することは困難でしたが、これは最も詳細を持っていた!あなた方全員に感謝します! – JMK

1

あなたは手動で行う必要があります。アプリケーションの多くの場所で同じパスを使用する場合は、それを構成ファイルに保存することもできます。

3

私はVisual Studioのような機能はないと思いますが、Resharperにはそれがあります。これはExtract Variableリファクタリングと呼ばれています。私は本当に、そのキーボードショートカット(CTRL +RCTRL +V)に使用されています。

文字列のすべての出現箇所を置換するか、選択した出現箇所だけを置き換えるかを尋ねるのが良い点です。

1

間違いなく、それはあなたがReSharperのを持っていない限り、またString Literalsの違いとどのように彼らはあなたのコードをもたらすことができるの疲れも、手動でそれを行うのがベストかもしれません。

2

Resharperはこの種のものにとって本当に良いツールです。これはビジュアルスタジオプラグインです。 http://www.jetbrains.com/resharper/

これがインストールされると、Ctrl + Shift + Rを使ってこのような魔法の文字列を削除できます。ビジュアルスタジオの[検索と置換]機能を使用することもできます。

関連する問題