2017-06-05 85 views
-1

我有一點寫入到一個文本文件的代碼,我想這樣做:其他方式

pathtxt.Text = pathtxt.Text + treeView1.SelectedNode.Text + "\"; 

,但它認爲\是一個註釋或東西,所以開始我如何讓它做一個\ \。謝謝

+1

只是逃避它:'「\\」' –

+1

微軟的文檔解釋這一點,不需要提出這樣的問題。 – hardkoded

+0

@kblok我在網上搜索了一個答案,並沒有找到one.must我不使用stackoverflow。這是一個qna網站 – klasmic

回答

2

而不將字符串(和轉義反斜線),你可以使用Path.Combine這樣的:

pathtxt.Text = Path.Combine(pathtxt.Text,treeView1.SelectedNode.Text); 
+1

OP沒有指出他們需要'pathtxt.Text'和'treeView1.SelectedNode.Text'之間的斜線。此外,此代碼不會添加OP *所需的尾部斜槓。 – Quantic

+0

@Quantic通過假設OP想要構建一條路徑並決定爲他/她提供一個間接解決方案如何實現這一點,我做了完全瘋狂的猜測。如果OP在中間有這個神祕的反斜槓(我也是這樣假設)'Combine'會忽略它並創建有效的路徑。但是,看起來我的方法是值得下注的。那麼,我會接受這一點。 – Nino

+0

嗯,我剛剛看到'pathtxt.Text'被重用,所以我現在刪除的以前的評論是〜與給定的代碼無關。尾部的斜線仍然很重要,IMO,並且至少鏈接到[MSDN](https://msdn.microsoft.com/en-us/library/fyy7a5kt(v = vs.110).aspx)可以提高質量的答案,所以OP可以避免方法的陷阱(在輔助路徑上引導斜槓打破它)。倒退是因爲你的回答沒有回答這個問題,他們想要「做到這一點」,並清楚地顯示一個尾隨的斜線。目前你有一個XY答案,一個XY問題的答案。 – Quantic

8

你試過

pathtxt.Text = pathtxt.Text + treeView1.SelectedNode.Text + @"\"; 

pathtxt.Text = pathtxt.Text + treeView1.SelectedNode.Text + "\\"; 
4

\是用於C#文本文字中的轉義序列。編譯器不認爲它是評論的開始:它認爲它是轉義序列的開始。因此,您需要使用"\\"(即反斜槓的轉義序列)或@"\"(逐字符串字面值,它不允許轉義序列)。

Path.Combine然而,從多個段創建路徑通常是優選的方式。