簡體   English   中英

如何包含在 .NET 解析的 csv 中構建?

[英]How to include to build at .NET parsed csv?

我有 13000 行的翻譯文件。 現在在啟動應用程序時,我從清單資源中讀取它

var resourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("filename.csv")

並通過 CsvParser 解析它們。

它的運行速度很慢(大約需要 2 秒)。 我正在尋找在構建時預解析它的方法,所以我可以像這樣訪問它:

var lines = SomeCode.ParsedLines;

有什么建議我該怎么做? 我可以寫一個巨大的 .cs 文件,比如

"ParsedLines= new string[,]{{"title1","title2"},{"word1","word2"}}"

但問題是 .csv 文件經常被修改。 我最好的猜測是創建一個代碼生成器,它將在每次構建時創建這個 .cs 文件,但我想知道是否有更好的方法。

這是源生成器的教科書用例之一。 使用源代碼生成器,您可以在構建時解析 csv 文件,並為將在接下來的步驟中編譯的類生成源代碼。

另一篇有用的文章 - 介紹 C# 源代碼生成器 您還可以找到有用的源生成器食譜我的沙盒源生成器項目

您也可以嘗試在沒有CsvHelper的情況下手動處理 csv 文件(因為您控制它並且您確定格式化、轉義等),方法是使用標准File.ReadLines或通過System.Pipelines來提高性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM