小编cro*_*ono的帖子

在C#中为大文件创建校验和的最快方法是什么?

我必须在一些机器上同步大文件.这些文件最大可达6GB.同步将每隔几周手动完成.我不能考虑文件名,因为它们可以随时更改.

我的计划是在目标PC和源PC上创建校验和,然后将所有尚未在目标中的校验和文件复制到目标.我的第一次尝试是这样的:

using System.IO;
using System.Security.Cryptography;

private static string GetChecksum(string file)
{
    using (FileStream stream = File.OpenRead(file))
    {
        SHA256Managed sha = new SHA256Managed();
        byte[] checksum = sha.ComputeHash(stream);
        return BitConverter.ToString(checksum).Replace("-", String.Empty);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是运行时:
- 使用带有1,6 GB文件的SHA256 - > 20分钟
- 使用带有1.6 GB文件的MD5 - > 6.15分钟

是否有更好 - 更快 - 获得校验和的方法(可能具有更好的散列函数)?

.net c# checksum large-files

125
推荐指数
6
解决办法
9万
查看次数

如何用C#自然地混合颜色?

我必须以自然的方式混合一些颜色.这意味着

blue + yellow = green 
blue + red = purple
Run Code Online (Sandbox Code Playgroud)

等等.我得到了RGB-Values的颜色.当我尝试混合它们时,我得到了正确的"RGB"结果

green + red = yellow
yellow + blue = white
Run Code Online (Sandbox Code Playgroud)

但不是正确的"天然湿涂料" - 结果.如何以自然的方式混合RGB有什么好主意?

如果有人知道Microsoft.Xna.Framework.Graphics命名空间内的解决方案会很好,但通用解决方案也会有帮助:)


@Jay Bazuzi:

请发布一个代码示例,显示您要执行的操作.

当然 - 这是我混合两种RGB颜色的功能.

public Color colorMixer(Color c1, Color c2)
{

    int _r = Math.Min((c1.R + c2.R),255);
    int _g = Math.Min((c1.G + c2.G),255);
    int _b = Math.Min((c1.B + c2.B),255);

    return new Color(Convert.ToByte(_r),
                     Convert.ToByte(_g),
                     Convert.ToByte(_b));
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我在这个帖子中读到的内容非常有前途 - 我将C1和C2转换为L a b*,混合它们 - 将其转换回RGB并返回该颜色.

.net c# colors mixing

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

Windows上命令行"书签"的工具?

我正在搜索一个工具,它允许我将某些文件夹指定为"书签",然后通过关键字在命令行(在Windows XP上)访问它们.就像是:

C:\> go home
D:\profiles\user\home\> go svn-project1
D:\projects\project1\svn\branch\src\>
Run Code Online (Sandbox Code Playgroud)

我目前正在使用一堆批处理文件,但手动编辑它们是一项艰巨的任务.在Linux上有cdargsshell书签,但我没有在Windows上找到一些东西.


感谢Powershell的建议,但是我不允许在工作时将它安装在我的盒子上,所以它应该是一个"经典"的cmd.exe解决方案.

command-line

12
推荐指数
2
解决办法
4424
查看次数

关于使用Android的新电子邮件的通知

有没有办法让应用在收到新电子邮件时收到通知?我的目标是,如果收到具有特定主题的电子邮件(发送声音,振动,无论如何),请将其视为"过滤器"或"规则",但我不想查看电子邮件服务器由我自己.我想我正在寻找像"android.telephony.PhoneStateListener"这样的东西,但是对于电子邮件.

email notifications android

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

如何使用.Net读取.cds数据库(TClientDataSet)

我有一个用Delphi编写的应用程序的旧数据库文件.我的任务是提取数据,并将其移动到SQL数据库.我知道它是.cds格式,它使用Delphi的TClientDataSet-Class.问题是:我没有Delphi,没有文档,多年前编写应用程序的人离开了公司.所以,我的问题是:有没有办法(除了Delphi或文本解析)使用Dot.net,Python,Ruby,Java或Perl访问数据?对XML或CSV的简单"导出"也会起作用.

c# delphi tclientdataset

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