使用.NET 3.0,我有下面的方法可以正确返回指定目录的所有文件和目录(以及子目录)的集合。如果可能的话,我想愚弄它,只使用我很熟悉的结构。具体来说,以下是我不清楚的事情:
1. IEnumerable<FileSystemInfo>: I'd like to return List<FileSystemInfo> instead
2. Stack<FileSystemInfo>: I'd list to use List<FileSystemInfo> instead.
3. yield return: I've never used this before
Run Code Online (Sandbox Code Playgroud)
。
public static IEnumerable<FileSystemInfo> GetAllFilesAndDirectories ( string dir ) {
DirectoryInfo dirInfo = new DirectoryInfo( dir );
Stack<FileSystemInfo> stack = new Stack<FileSystemInfo>();
stack.Push( dirInfo );
while ( dirInfo != null || stack.Count > 0 ) {
FileSystemInfo fileSystemInfo = stack.Pop();
DirectoryInfo subDirectoryInfo = fileSystemInfo as DirectoryInfo;
if ( subDirectoryInfo != null ) {
yield …Run Code Online (Sandbox Code Playgroud) 我希望我的C#.NET应用程序有一个表单,但不是一个表单.
当我正常启动一个Windows窗体应用程序时,就像该窗体是其他所有内容的主人:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Run Code Online (Sandbox Code Playgroud)
相反,我想启动我的程序,然后能够显示一个表单,但不是表单本身.换句话说,我不希望应用程序的主控制器是形式,我希望它是一个非可视逻辑容器,它具有显示表单的能力,但不是表单本身.
我不确定我是否以明确的方式提出问题,但我想听听他们的想法.
鉴于我有一个设置了一些属性的Fruit实例,并且我想将这些属性放入一个新的Pear实例中(因为这个特殊的Fruit恰好具有梨的特性),实现这种效果的最佳方法是什么?
例如,我们不能做的只是简单地将水果浇到梨上,因为不是所有的水果都是梨:
public static class PearGenerator {
public static Pear CreatePear () {
// Make a new generic fruit.
Fruit genericFruit = new Fruit();
// Upcast it to a pear. (Throws exception: Can't cast a Fruit to a Pear.)
Pear pear = (Pear)genericFruit;
// Return freshly grown pear.
return ( pear );
}
}
public class Fruit {
// some code
}
public class Pear : Fruit {
public void PutInPie () {
// some code
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
更新: …
将我的ASP.NET Web应用程序.dll文件上传到我的网站的/ bin /目录时,使用调试版本是否有任何缺点,而不是重新编译版本构建.
例如,在网站上本地工作时,构建配置设置为Debug.当事情看起来不错时,我会继续为网站/ webapp上传最新的.dll.我应该在那时将构建配置切换到Release,然后编译,然后将该版本的.dll上传到服务器吗?
我希望这个问题不重复.我在这个主题中读了许多其他类似单词的问题,但没有找到与我的问题直接相关的内容.
谢谢,
亚当
在C#winforms中,是否有一种方法可以不显示在使用轨迹栏控件时显示的虚线焦点轮廓边框?
细节:这个轮廓对我来说看起来有点俗气,所以我只是为了不美观而拍摄美学.
谢谢,
亚当
使用C#.NET 2.0或更高版本以及Visual Studio 2008,如何在Windows Vista PC上生成所有已安装应用程序的列表?
我的动机是获取我可以保存并保存的所有已安装应用程序的文本文件,这样当我重建我的机器时,我有一个包含所有旧应用程序的列表.
这个问题的第二部分是SuperUser.com的事情,但希望第一部分算作"编程".
谢谢
如何将任意System.DateTime转换为四字符军事时间字符串.
谢谢!
使用VS 2010,ASP.NET,.NET 3.0和C#...
当我使用System.Web.UI.WebControls.SqlDataSource并调用其Insert()方法插入一个新行,并且该表有一个标识列时,我希望我的方法返回该列的值.
例如,在我的SQL 2005表中,我得到了:
Customer.Id是身份列.
当我调用我的方法InsertNewCustomerRecord("John","Smith")时,我希望能够返回在数据库中自动生成的Customer.Id.
对不起这个粗略提出的问题.如果我能添加更好的细节,请告诉我.谢谢.
WPF真正"准备好"时的"指标"是Visual Studio中提供了menustrip控件.如果没有这个,从我的角度来看,它仍然在"建设中",与winforms相比.这不是技术论证,只是个人偏好.
所以我的问题是:Visual Studio何时会出现WPF menustrip控件?例如,这是否会出现在Visual Studio 2010的最终版本中?