小编Mat*_*ský的帖子

批处理文件:如何使*忽略".svn"目录

我需要在树的各个层面上压缩一个包含数千个文件的大而深的目录树.

问题是整个树都在SVN的版本控制之下.SVN在每个目录中都有隐藏的元数据".svn"目录,这会使得到的ZIP的大小膨胀超过100%(这是不可接受的,因为生成的存档用于在线分发).

目前我正在使用这个:

7z -u archive.zip baseDir\*.png
7z -u archive.zip baseDir\*\*.png
7z -u archive.zip baseDir\*\*\*.png
7z -u archive.zip baseDir\*\*\*.png
7z -u archive.zip baseDir\*\*\*\*.png
Run Code Online (Sandbox Code Playgroud)

...*级别的数量是树的最大理论值.对于可能出现在树中的每个扩展,所有这些都会重复.这样做 - 它完全按照应有的方式构建存档,但它需要太长时间(几分钟),因为整个树必须遍历多次.

我想让它更快,因为我需要为每个调试会话重复这个.

有没有更有效的方法来选择目录树中的"真实"文件?

谢谢你的帮助!

command-line cmd batch-file

2
推荐指数
1
解决办法
1540
查看次数

Expression Blend vs Visual Studio

我已经了解了Expression Blend,它用于以与Visual Studio类似的方式创建图形用户界面(Wpf).可以免费下载吗?在任何情况下,Blend生成的任何内容都可以在Visual Studio中使用相同的代码(标记)实现吗?

有人可以向我推荐一个详细而全面的"教程",介绍如何在VS中构建Wpf以及如何有效地使用其控件?

c# wpf visual-studio

2
推荐指数
1
解决办法
1万
查看次数

使用没有幻数的IComparable.Compare

我真的很讨厌和IComparer一起工作- 直到今天,经过多年与.Net的合作,我仍然经常被那些1和-1混淆.

我可以用一些不言而喻的名称替换比较结果值,而不必在每次比较调用后将输出整数转换为其他值吗?

我试着像这样定义一个枚举:

public enum ComparerResult
{
    ALessThanB = -1,
    Equal = 0,
    AGreaterThanB = 1
}

if(comparer.Compare(a, b) == ComparerResult.ALessThanB)
Run Code Online (Sandbox Code Playgroud)

但是,如果没有演员阵容,那当然不会编译.

这当然也适用于IComparable.CompareTo.

谢谢你的想法

.net c# coding-style code-readability base-class-library

2
推荐指数
1
解决办法
562
查看次数

直接访问struct成员

我有一个测试结构定义如下:

struct test{
    int a, b, c;
    bool d, e;
    int f;
    long g, h;
};
Run Code Online (Sandbox Code Playgroud)

在某个地方我用这种方式:

test* t = new test;   // create the testing struct
int* ptr = (int*) t;
ptr[2] = 15;          // directly manipulate the third word
cout << t->c;         // look if it really affected the third integer
Run Code Online (Sandbox Code Playgroud)

这在我的Windows上正常工作 - 它按预期打印15,但它是否安全?我是否可以确定变量是在内存中我想要的 - 特别是在这种组合结构的情况下(例如f在我的编译器上是第五个字,但它是第六个变量)?

如果没有,有没有其他方法直接操作struct成员而不在代码中实际拥有struct-> member构造?

c++ memory struct

1
推荐指数
2
解决办法
1万
查看次数

Ofstream在linux上写入空文件

我有一个使用ofstream编写输出的程序.使用Visual Studio编译时,Windows上的所有内容都可以正常工作,但只有在使用GCC编译时才会在Linux上写入空文件.

ofstream out(path_out_cstr, ofstream::out);
if(out.bad()){
 cout << "Could not write the file" << flush;
}
else{
 cout << "writing";

 out << "Content" << endl;

 if(out.fail()) cout << "writing failed";

 out.flush();
 out.close(); 
}
Run Code Online (Sandbox Code Playgroud)

正在写入的目录具有0777权限.

奇怪的是:没有写任何东西,但没有报告错误.

gcc --version是:( Gentoo 4.3.4 p1.0,pie-10.1.5)4.3.4

我知道代码应该工作,所以我更喜欢寻找建议,可能是错误的,而不是直接的代码修复.

编辑:fwrite似乎以完全相同的方式失败(没有任何写入,没有报告错误).

编辑:如果它有任何意义,我将在我的大学目录上通过SSH检测GCC和程序.我有足够的permisssions来exectute和写文件(ls.> out.txt工作正常),它只有我的程序有麻烦.

感谢帮助

c++ linux gcc ofstream

1
推荐指数
1
解决办法
4247
查看次数

使用Entity Framework比较两种不同的类型

假设我有一个Posts包含字段Owner类型的表Person(有字段Name).

我正在尝试使这个速记表达式工作:

from p in Posts where p.Author == "SomeNameAsString" select p;
Run Code Online (Sandbox Code Playgroud)

这意味着我必须将类型对象Person与a 进行比较string.

我试图覆盖Equals并覆盖运算符==和!=,但我仍然得到异常"DbComparisonExpression需要具有可比类型的参数.".

有没有办法在实体框架中使两种不同类型具有可比性?

c# linq linq-to-entities entity-framework

0
推荐指数
1
解决办法
6488
查看次数