有点难以解释,但我会尽我所能。 我不是问如何创建文本文件或阅读文本文件和显示。它比这更基本。
我的问题是:我已经写了一段文本文件,但我不知道如何将它放在解决方案资源管理器中,所以我的程序可以引用它而不是多次编写它。
这是我的一个带有示例字符串的编码,我有几个使用相同的文本但不同的任务。在这里我手动(?)写了我想保存为文本文件的文本(字符串),所以我可以参考。
string st = "I like apples. I like red apples. I like red apples than green apples";
string result = st.OrderByDescending(s => s.Split(' ').Count()).First();
this.lblMostWordsInSen.Text = result;
实际上,上面的代码在Split下有一个错误,它表示char不包含Split的定义。我该如何解决?
我在下面找到了这个编码" text_file_name.txt"或(@" d:\ test.txt")是我想要的,但文件不应该存储在我的D盘中。它应该存储在我的程序中(解决方案资源管理器?)我是在Web应用程序中完成的,但我不知道如何在WinForm中执行。
string filename = "Alice-in-Wonderland.txt";
StreamReader sr = new StreamReader("TestFile.txt")
String[] values = File.ReadAllText(@"d:\test.csv").Split(',');
最后如何调用我的文件是我的最后一个问题......
提前致谢〜
答案 0 :(得分:1)
如果您希望轻松操作这些设置,则可以使用Resources
文件,而不是使用评论中建议的Settings
程序。
查看此文章:http://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx
答案 1 :(得分:1)
实际上,上面的代码在Split下有一个错误,它表示char 不包含Split的定义。我该如何解决?
string result = st.OrderByDescending(s => s.Split(' ').Count()).First();
这是因为字符串st
是一组字符。实际上它是
st[0],st[1],...,st[st.Length-1]
当您致电st.OrderByDescending
并提供类似s => ...
的lambda表达式时,s
不代表整个字符串(st
),它只代表{{1}的元素其类型为st
,这导致我们上面提到的错误。
您可以将文本文件添加到项目中。如果你想阅读它们,你可以像这样阅读它们
char
但请记住在解决方案资源管理器中选择您的文件并右键单击并单击属性,然后将“复制到输出目录”属性更改为“始终复制”或“ 根据您的情况复制>这将导致在您构建项目时,此文件将被复制到您的可执行文件所在的目录中,并且您不需要它的路径来访问它
您还可以转到项目属性的“构建事件”选项卡,并设置在尝试构建项目时将执行的操作,例如,您可以设置将“yourfile”复制到名为“text resources”的文件夹的操作。您的构建目录,在这种方法中,您可以处理更复杂的情况,例如,当您在项目中拥有大量此类资源时。
您可以阅读此内容以获取有关Build Events
的更多信息