回答
首先檢查文件並對行進行計數,以便分配數組。你可以在這裏使用一個列表,但是數組有更好的性能,並且你有很多項目你必須循環很多(對於文件中的每個編碼字符一次),所以我認爲你應該使用一個數組。我們現在要分配元組和數組,
Tuple<string, string> tuples = new Tuple<string, string>[lines];
之後,我們將循環遍歷文件再次添加每個鍵值對作爲元組。
try
{
using (StreamReader sr = new StreamReader("Encoding.txt"))
{
string line;
for (int i =0; i < lines; i++)
{
line = sr.Readline();
if (!line.startsWith('#')) //ignore comments
{
string[] tokens = line.Split('='); //split for key and value
foreach(string token in tokens)
token.Trim(' '); // remove whitespaces
tuples[i].Item1 = tokens[0];
tuples[i].Item2 = tokens[1];
}
}
}
}
catch (Exception e)
{
// Let the user know what went wrong.
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
我給了你很多的代碼,雖然這可能需要一點修補才能工作。我沒有在編譯器中編寫第二個循環,而且我懶得查找諸如System.String.Trim
之類的東西,並確保我正確使用它。我會把這些東西留給你。這有核心邏輯來做到這一點。如果你想改爲使用列表,將for循環內部的邏輯移動到while循環中,在那裏計算行數。
對正在閱讀的文件進行解碼,您必須循環訪問該數組,並比較鍵或值直到您匹配。
另一件事 - 你的元組數組將會有一些空索引(數組的長度爲lines
,而文件中實際上有lines - comments + blankLines
)。您需要進行一些檢查,以確保您在嘗試匹配字符時未訪問這些索引。或者,您可以增強文件讀取,使其不會計算空白行或註釋,也不會從您讀取的文件中刪除這些行。最好的解決方案是加強文件閱讀,但這也是最多的工作。
這是唯一的控制檯?請問Winforms怎麼樣?謝謝。 – Omarrrio
@Omarrrio不,這只是讀你的endcoding文件並創建一個鍵值對的數組。這個想法是把你的角色表放到內存中,這樣它就可以用來匹配整個應用程序中的字符。這對控制檯應用程序的作用與對winforms應用程序的作用相同。一旦你有了數組,並且你有一些字符串的自定義字符,你將使用一個嵌套循環來遍歷數組中每個字符的匹配。 – evanmcdonnal
謝謝,對於遲到的回覆感到抱歉。 – Omarrrio
- 1. 在我自己的組件中使用角材料顏色
- 2. 如何使用與用戶角色權限與我自己的數據庫
- 3. 如何使用我自己的顏色android的XML
- 4. 角2:如何使我自己定製KendoGrid在角2
- 5. 如何使用我自己的腳本
- 6. 如何使用我自己的座標
- 7. 如何爲我自己的類型設置我自己的表單表示
- 8. 如何使用自己的類角
- 9. 如何讓我的角色?
- 10. 我如何使用我自己的數據使用matplotlib製作燭臺圖表
- 11. 如何從我自己的webapp查詢我自己的web api?
- 12. 目前可以創建我自己的角色IDP嗎?
- 13. 如何製作我自己的角度自舉文檔
- 14. 我如何使自己的屬性(HTML5)
- 15. 如何使我自己的流
- 16. 我如何設置我自己的SVN
- 17. 我如何定製我自己的Observable?
- 18. 用我自己的
- 19. 我如何在我自己的iOS項目中使用pjsip?
- 20. 我們可以自己寫一個EOF角色嗎?
- 21. 如何用我自己的setupwizard.apk替換?
- 22. 我如何用我自己的風格創建自己的wysiwyg編輯器?
- 23. 我想爲Dojo圖表使用我自己的主題。如何連接它?
- 24. 如何使用jadira使用我自己的用戶類型usertype
- 25. 如何展示我們自己的視角作爲默認?
- 26. 使我自己的安裝
- 27. 使我自己的框架
- 28. 如何使用JAX-WS時,我用我自己的自定義客戶端類?
- 29. 如何從我的自定義模塊獲取用戶角色?
- 30. JQuery:如何使用我自己的函數使用JQuery延遲?
又如何解密它? – lboshuizen
加密或編碼?另外考慮顯示你寫的代碼來執行轉換...否則這個問題看起來像是關閉的好候選... –
@ Ibo:確切地說,我已經有了一個適合我的字符表,但我需要實現它或直接從exe/exe目錄加載它。 @Alex:我沒有代碼,我根本不知道如何去做:這就是我爲什麼要問的原因。 – Omarrrio