2011-12-13 33 views
1

私のアプリケーションでfolderdialogboxを使用しています。ディレクトリを選択して別の文字列に割り当てると、C:\\testFolderDialogBox.SelectedPathの\をに置き換えます。

のような値が得られます。私はc:\testという値を使用したいと思います。

私はstackoverflowについて調査しましたが、実際の回答は見つかりませんでした。私はすべての種類の交換を試みましたが、動作しません。

ご協力いただきますようお願い申し上げます。

コード:

private void label1_Click(object sender, EventArgs e) 
    { 
     folderBrowserDialog1.ShowNewFolderButton = false; 

     if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) 
     { 
      string p = @folderBrowserDialog1.SelectedPath; //=> Selected C:\ACTNT 
      //removing @ in front of folderBrowserDialog1 does not change the situation 
      strPathName.Text = p; // => display c:\ACNT 
      con = "database = " + p; // => actual value "database = c:\\ACNT" 
      UpdateTableName(); 
     } 
    } 

私はC:\ACNTとしてstrPathNameに手動で入力すると、プログラムは正常に動作します。

+0

あなたが直面している問題の解決に使用したコードを投稿してください。それから、私たちは問題を見てあなたを助けることができます。 – OnesimusUnbound

+1

あなたは 'C:\\ test'を得ていますか?基本的な文字列の値が実際に\であるときにVSデバッガに\\が表示されるので尋ねます。 –

+0

'UpdateTableName();'を削除して関連性のないコードを実行し、 'con =" database = "+ p;'の後に 'MessageBox.Show(con)'を追加して連結した結果を表示し、 'データベース= c:\ ACNT'。コードに何も問題はありません。 – OnesimusUnbound

答えて

3

他の回答は、これまでの文字列リテラルを割り当てることについて話しているが、あなたは取得しているように聞こえますとにかくGUIを介してこの文字列を入力します。その場合は無関係です。

です。実際には文字列が実際にc:\\testであると判断されています。私は強くあなたがデバッガでそれを見ていると思っています - 文字列を表示するとC#エスケープが自動的に適用されます。

文字を画面に印刷するだけの場合(例:ToCharArray()と呼びます)、バックスラッシュは1つしかありません。デバッガに騙されてはいけません。

+0

私はデバッガを調べていません。値は別の文字列に追加されます。この文字列がシステムで使用されると失敗します。文字列はもともとはGUI(filebrowserdialog)で取得されています。 –

+0

@NatwarLath:どうやって文字列を見ていますか?他の何かがそれをエスケープしているかもしれません。長さまたは文字を1つずつ印刷してみてください。 FileBrowserDialogはそのようなスラッシュを2倍しません*。 –

0

C#文字列に\を指定するには、別のスラッシュでエスケープします。例:string yourString = "C:\ test";

「C:\ test」を指定した場合、実際には「C:[tab character] est」と表示されます。

0

Yは、あなたが例@

string myvar = @"c:\myfile.txt"; 
0

の使用を作るDONET @を配置してみてください、文字列値の前で

string path = @"C:\\test"; 
path=path.Replace(@"\\", @"\"); 
0

このコードを試してみてください。たとえば :

@"c:\test". 
0

使用のいずれか

string myvar = @"c:\myfile.txt"; 

または

string myvar = "c:\\myfile.txt"; 
関連する問題