小编Dav*_*ave的帖子

SHA-256或MD5用于文件完整性

我知道,SHA-256优于MD5的安全性等,但是,如果我用一种方法来只检查文件的完整性(即,无关的密码加密等),是否有任何优势使用SHA-256?

由于MD5是128位而SHA-256是256位(因此大两倍)......

  1. 加密需要两倍的时间吗?

  2. 如果时间不重要,就像在备份程序中一样,文件完整性就是所需要的,那么有人会反对MD5使用不同的算法,甚至提出不同的技术吗?

  3. 使用MD5产生校验和吗?

hash md5 file sha256

59
推荐指数
7
解决办法
10万
查看次数

PDFsharp换行符

我试图获得新的行,但如果我使用\n它没有任何方式通过添加字符串像\r\n(不起作用)有新的行

gfx.DrawString("Project No \n" + textBoxProjNumber.Text, fontUnder, XBrushes.Black, 230, 95);
Run Code Online (Sandbox Code Playgroud)

不起作用.

pdf newline pdfsharp

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

如果文件已被修改,如何计算?

我正在写一个备份解决方案(各种各样).只需从位置C:\复制一个文件并将其粘贴到位置Z:\

为确保速度快,在复制和粘贴之前,它会检查原始文件是否存在.如果是这样,它会执行一些"计算",以确定是否应该继续复制或备份文件是否是最新的.正是这些计算我发现很难.

最初,我比较了文件大小,但这还不够好,因为它很可能更改文件并且大小相同(例如,在记事本中保存字符C的大小与保存字符T的大小相同) ).

所以,我需要找出修改日期是否不同.目前,我使用FileInfo该类获取文件信息,但在查看了所有字段后,似乎没有什么是合适的.

如何检查以确保我正在复制已修改的文件?

编辑 我已经看到SO的建议使用MD5校验和,但我担心这可能是一个问题,因为我正在比较的一些文件将高达10GB

c#

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

父div上的css3缩放变换,但在某些相关的div中保持不变的大小

我正在使用css3缩放变换来缩放包含其他div的div.

我遇到的问题是我需要保留一些内部div,基本上好像它们没有缩放,它们的大小不应该改变,但是我确实需要用其他内容来扩展父div.

你怎么能扭转一些div的缩放?
我正在尝试应用反向缩放.
如果整个div应用了1.5的值,我试图找到我现在应该扩展其他div的值,以便在视觉上将它们恢复到以前的状态.

transform scale css3

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

Int.ToString("C")删除否定符号

根据http://msdn.microsoft.com/en-us/library/6t7dwaa5.aspx,如果我想显示一个数字作为货币,我可以调用.ToString()并传递一个参数,在本例中为"C" "

但是,根据以下来自MSDN站点的详细信息,它会自动删除减号( - )字符,这意味着我的值现在为正值.

int value = -16325;   
// Display value using default ToString method.
Console.WriteLine(value.ToString());            // Displays -16325 
// Display value using some standard format specifiers.
Console.WriteLine(value.ToString("G"));         // Displays -16325
Console.WriteLine(value.ToString("C"));         // Displays ($16,325.00)
Console.WriteLine(value.ToString("D"));         // Displays -16325
Console.WriteLine(value.ToString("F"));         // Displays -16325.00
Console.WriteLine(value.ToString("N"));         // Displays -16,325.00
Console.WriteLine(value.ToString("X"));         // Displays FFFFC03B 
Run Code Online (Sandbox Code Playgroud)

所以,我如何使用减号符号,我必须使用包含(" - ")方法,如果它是真的添加 - 重新开启.

像这个代码的东西(如果编码不正确,请道歉,但你明白了).

string x = (value.ToString().Contains("-") : "-" + value.ToString("C") ?  + value.ToString("C"));
Run Code Online (Sandbox Code Playgroud)

.net tostring

11
推荐指数
2
解决办法
6143
查看次数

用GZipStream压缩

我试图理解为什么我的代码没有按照需要执行.它创建一个GZipStream,然后将该对象保存为我的硬盘驱动器上的压缩文件,但保存的文件始终为0字节.

现在我知道如何使用GZipStream保存文件,但是,我的问题不是如何做到这一点.我的问题纯粹是为什么这段代码可以节省0个字节(或者为什么FileStream工作而内存不存在).

private void BegingCompression()
{
    var bytes = File.ReadAllBytes(this.fileName);
    using (MemoryStream ms = new MemoryStream(bytes))
    {
        ms.ReadByte();
        using (FileStream fs =new FileStream(this.newFileName, FileMode.CreateNew))
        using (GZipStream zipStream = new GZipStream(ms, CompressionMode.Compress, false))
        {
            zipStream.Write(bytes, 0, bytes.Length);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在问候的源代码,this.fileName = c:\Audio.wav以及newFileNameIS c:\Audio.wav.gz(但也试过c:\audio.gz)

.net c#

10
推荐指数
3
解决办法
4万
查看次数

OnCollisionEnter不是统一调用的

我几乎检查了每个答案,但这些都是简单的错误和错误.我的问题是OnCollisionEnter即使在碰撞其他刚体时也不会被调用.

这是不被称为的部分:

 void OnCollisionEnter(UnityEngine.Collision col) {
        Debug.Log("collision!!!");
        foreach(ContactPoint contact in col.contacts) {
            //checking the individual collisions
            if(contact.Equals(this.target))
            {
                if(!attacking) {
                    Debug.Log("hitting target");
                } else {
                    Debug.Log("dying");
                    //engage death sequence
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

甚至没有"碰撞!!!" 消息出现.我是否理解错误使用,或者我忘记了什么?

c# unity-game-engine

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

检查对象是否已实例化

我有一个由许多其他物体组成的物体!我试图找到其中一个属性(枚举)的值,但不能.

现在,通常如果我想检查一个对象是否为null我可以做

if (object == null) 
Run Code Online (Sandbox Code Playgroud)

但这会导致同样的错误.

我试过了

if (object.Equals(null)) and the same error.
Run Code Online (Sandbox Code Playgroud)

我得到的错误消息是objectName抛出异常:System.NullReferenceException:对象引用未设置为对象的实例..

我正在尝试确定我的对象是否已实例化.现在,我可以坚持尝试捕捉,如果错误然后我知道它不是,但对我来说这感觉非常错误(虽然我可能没有选择).

我遇到的另一个问题是这个项目不是我的,对每个人来说都是一个黑盒子,因此我无法对原始对象进行任何更改!这意味着,我拥有的只是我所拥有的,一个可能会或可能不会被实例化的对象,我需要一种方式来讲述.

除了try catch之外,我还有其他选择吗?

编辑

所以,对象是

public partial class SaveBundleResponse 
{
    SaveBundleResponseHeader header;
}

public partial class SaveBundleResponseHeader 
{      
        private SaveBundleResponseHeaderStatus status;
}

public enum SaveBundleResponseHeaderStatus 
{        
        Success, Fail, OK, OtherStates
}
Run Code Online (Sandbox Code Playgroud)

因此,最初创建SaveBundleResponse,然后实例通过"工作流"样式环境,并且每个属性在工作流程更深入时变为"填充/更新"等.但是,在少数情况下,永远不会设置枚举.

问题是,我需要知道枚举的值(或者如果它是null).

我试图使用的代码是

        if (saveBundleResponse.Header.Status // what ever happens, it fails at this point as Status is not initiated.
Run Code Online (Sandbox Code Playgroud)

.net c# instantiation

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

检查File.Exists()是否提高了写入速度

我的应用程序将一些文件写入光盘,但我意识到我在此过程中编写了现有文件.所以,我需要先检查文件是否存在,然后执行一些逻辑.

可能会有很多文件,因此,我想要估计影响会有多大(在时间方面).所以,我创建了一个控制台应用程序来测试它.

我的代码

using System;
using System.Collections.Generic;
using System.IO;

namespace TimeForFileRead
{
    class Program
    {
        static string myPath = "C:\\Users\\DRook\\Desktop\\temp\\";
        static string myPathFile = myPath + "file";
        static void Main(string[] args)
        {
            for (int i = 0; i < 5; i++)
            {
                DoSomeWork();
                Console.WriteLine(" =  =  =  =  =  =============== =  =  =  =  =");
            }
            Console.ReadKey();
        }

        static void DoSomeWork()
        {
            if (!Directory.Exists(myPath))
                Directory.CreateDirectory(myPath);    

            System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();

            stopWatch.Start();

            for (int i = 0; i < 1000; i++) …
Run Code Online (Sandbox Code Playgroud)

c#

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

为什么不对所有私有方法使用静态方法?

我试图理解静态方法,我已经达成了一个令人困惑的问题.

仅关注此问题的方法,如果我创建了我的对象的实例(其中类本身不是静态的),那么我通常只能访问public,protected和/或内部方法(取决于范围/封装).换句话说,我无法访问私有方法.

我已经读过,虽然最小的静态方法比非静态方法稍微有效.

因此,在创建返回类型为void的私有方法时,并在从内部创建对象的引用时排除,为什么不将它设置为静态?我见过的所有代码都没有这样做,所以我只能假设我错过了这一点.

.net static

7
推荐指数
2
解决办法
1144
查看次数