リソースからファイルを読み取り、リストに追加する必要があります。私のコード:
private void Form1_Load(object sender, EventArgs e)
{
using (StreamReader r = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("myProg.myText.txt")))
{
//The Only Options Here Are BaseStream & CurrentEncoding
}
}
これを検索したところ、"Assembly.GetExecutingAssembly...."
しかし、私のプログラムにはアセンブリのオプションがありません。
このようなものを試してください:
string resource_data = Properties.Resources.test;
List<string> words = resource_data.Split(new[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries).ToList();
どこ
アセンブリにアクセスするには、ヘッダーにusing System.Reflection;
を含める必要があります。これは、VSでファイルを「埋め込みリソース」としてマークする場合のみです。
var filename = "MyFile.txt"
System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("YourNameSpace." + filename));
「using System.Reflection;」を含める限り次のようにアセンブリにアクセスできます。
Assembly.GetExecutingAssembly().GetManifestResourceStream("YourNamespace." + filename);
または、ファイル名を変更する必要がない場合は、次を使用します。
Assembly.GetExecutingAssembly().GetManifestResourceStream("YourNamespace.MyFile.txt");
完全なコードは次のようになります。
using(var reader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("myProg.myText.txt"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
// Do some stuff here with your textfile
}
}
これに従うだけで、AppDeveloperソリューションを使用できます。
string resource_data = Properties.Resources.test;
string [] words = resource_data.Split(new[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries);
foreach(string lines in words){
.....
}