小编The*_*yan的帖子

结构数组返回错误

我有以下代码:

static int gridX = 40;
static int gridY = 40;

public struct CubeStruct
{
    public Transform cube;
    public bool alive;
    public Color color;
}

public CubeStruct cubeArray[,] = new CubeStruct[gridX, gridY];
Run Code Online (Sandbox Code Playgroud)

这将返回以下错误:

错误CS1519:类,结构或接口成员声明中的意外符号`,'

错误CS0178:无效的排名说明符:预期,' or]'

错误CS1519:意外的符号`;' 在类,结构或接口成员声明中

它可能是显而易见的,但我看不到它.

c# arrays struct

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

如何在SQL查询中转义特殊字符,以避免注入

使用delphi 2010,我想知道是否有某种方法来逃避以下字符串,以使其免受sql注入攻击:

我的字符串:

    SQLQuery1.SQL.Text := 'SELECT * FROM registered WHERE email="'+
      email+'" and login_pass="'+password+'"';
Run Code Online (Sandbox Code Playgroud)

如何重写这个字符串,使其比有人在我的TEditbox中输入"他的电子邮件或密码"更安全!

sql delphi delphi-2010

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

如何在 C# 中调用托管 DLL 文件?

我正在制作一种脚本语言,但我有一个严重的问题。

我需要这样做,以便您可以在该语言中调用 .NET DLL,但我发现无法在 C# 中执行此操作。

有谁知道如何以编程方式加载和调用 .NET dll?(我不能只是添加参考所以不要这么说)

c# dll managed external call

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

确定sql中不相等的特定字段

我的查询有点等于以下内容:

SELECT @address = a.Id FROM dbo.[Address] AS a, dbo.Item as u
    WHERE a.Name = u.Name 
            AND ISNULL(a.Number, '') = ISNULL(u.Number, '') 
        AND ISNULL(a.Floor, '') = ISNULL(u.Floor, '')
        AND ISNULL(a.Door, '') = ISNULL(u.Door, '')
        AND a.Zip = u.Zip
        AND u.ItemId = @id;
Run Code Online (Sandbox Code Playgroud)

整个想法是从dbo.Address中找到与dbo.Item表对应的地址.

现在,问题是,从这个查询我需要有不匹配的,并确定他们不匹配的原因示例:我们找不到名称,数字,或地板等我一直在尝试通过使用连续的SELECT来完成此任务:

SELECT @addressId = a.Id FROM dbo.[Address] AS a, dbo.Item as u
        WHERE a.Name = u.Name 
            AND u.ItemId = @id;
        -- Name not found           
        IF @addressId IS NULL
        BEGIN
            SET @retval = 4
            RETURN @retval;
        END
        ELSE …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2008

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

重写超类或子类中的 equals 和 hashCode 方法,或者重写两者

我对java编程比较陌生,当我有一个从超类继承的子类时,我在寻找在哪里使用 equals 和 hashcode 方法重写时遇到了问题。

我想检查超类和子类的对象是否相等,并且想知道超类和子类中的一个或两个是否需要重写它们的 equals 和 hashcode 方法?

我的子类没有实例变量,我的超类有 2 个实例变量(整数)

我的子类构造函数正在调用超类构造函数。

如果我想重写子类的 equals 和 hashcode 方法,基于子类没有实例变量但从其超类继承 2 个实例变量的事实是否可能?

java equals hashcode

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

使用.NET定期查找目录中的已更改文件

我正在尝试找到使用C#和.NET在目录中查找新文件和修改过的文件的最可靠方法.我不是在寻找实时解决方案,我想在给定时间检查更改.可能是每5分钟或每小时等.

我们在FileInfo对象上有CreationTime和LastWriteTime,这似乎足以获取新的和修改过的文件.但是,如果重命名文件,则不会更改任何可用日期,如果只查看CreationTime和LastWriteTime,则会丢失文件.

目前我正在维护目录中文件的"快照",包括上次检查更改的时间.这使我能够将目录中的所有文件与快照中的文件进行比较,如果快照缺少文件,则为新文件或重命名文件.

这是唯一的方法吗?我错过了什么.我不打算使用FileSystemWatcher,因为它似乎非常"错误"并且需要一直运行.

任何建议都非常欢迎.

圣诞节快乐!

.net c# .net-4.0

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

使用RijndaelManaged从ASP.NET成员资格中解密加密密码

底线是创建自定义FTP身份验证提供程序.为了做到这一点,必须从IFtpAuthenticationProvider接口继承,然后在GAC中注册该程序集.之后,需要在IIS的FTP设置中注册程序集.

为了实现这一目标,我必须使用数据库,该数据库将我的用户信息保存在我们之前开发的自定义成员资格和角色提供程序的数据库中.所以,这意味着我必须使用本地类库app.config文件并阅读它ConfigurationManager.OpenMappedExeConfiguration().我从那里读取连接字符串,我甚至能够动态地它提供给Linq-To-Sql类.没问题.

接下来,我尝试创建一个继承自SqlMembershipProvider的类,以便我可以使用它自己的系统来解密用户的密码.但是,问题是它必须machineKey从配置中读取值.您可以为SqlMembershipProvider提供自定义配置的唯一方法是使用它的Initialize方法(无论如何我们都不打算在我们的代码中使用它).但无论如何我试过并失败了.我已经能够提供自定义成员资格设置,但不能提供machineKey设置.

所以,我决定变得激进.我说:我有decryptionKey来自machineKey所以我会尝试手动解密密码.

到目前为止,我已尝试使用RijndaelManaged:

    private string UnEncodePassword(string encodedPassword, string secretKey)
    {
        string password = encodedPassword;

        var keyBytes = new byte[16];
        var secretKeyBytes = Encoding.UTF8.GetBytes(secretKey);
        Array.Copy(secretKeyBytes, keyBytes, Math.Min(keyBytes.Length, secretKeyBytes.Length));

        RijndaelManaged rm = new RijndaelManaged
        {
            Mode = CipherMode.CBC,
            Padding = PaddingMode.PKCS7,
            KeySize = 128,
            BlockSize = 128,
            Key = keyBytes,
            IV = keyBytes
        }; …
Run Code Online (Sandbox Code Playgroud)

c# encryption asp.net-membership class-library

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

什么是表示数据库中两个不同用户输入的数据的有效方式

我有一个名为的表Request,数据将由两种类型的用户(公司员工和站点成员)输入.最初我有一个名为的专栏createdby.但是,人员和成员表主键是具有身份的整数.所以我不得不改变它,因为可能有一个ID对应于两个实体.

然后,我创建的请求表两列ByStaffIdByMemberID.我想知道这是否正确.

sql database sql-server

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

如果对象是垃圾回收,如何获得通知?

精简版:

对于缓存类,如果对象被垃圾收集(从我的缓存中删除相应的条目),我需要得到通知.这样做的最佳方法是什么?从析构函数发送事件?

长版:

我正在编写一个cacher/memoizer,用于获取一个巨大的参数树对象和许多小值类型参数的函数,例如,

double myFunc(HugeParTree parTree, int dynPar1, double dynPar2)
Run Code Online (Sandbox Code Playgroud)

我想以下列方式缓存这些函数:

  • 缓存元组的结果(parTree.GUID,dynPar1,dynPar2,...)
  • 每当parTree很少发生变化时,所有相应的缓存条目都将被删除(通过Observer模式).(parTree.Equals()太贵了;它比较了100多种价值类型).

代码现在看起来像这样(对于一个值参数):

public class CachedFunction1ObsPar1Par<TRet, TObsPar1, TPar1>
        where TObsPar1 : IObservable, IProvideGUID
    {
        public delegate TRet ValueCalculator(TObsPar1 obsPar1, TPar1 par1);

        public CachedFunction1ObsPar1Par(ValueCalculator calc)
        {
            _calc = calc;
        }


        #region members

        private ValueCalculator _calc;

        private Dictionary<Guid, Dictionary<TPar1, TRet>> _cache = 
            new Dictionary<Guid, Dictionary<TPar1,TRet>>();

        #endregion


        public TRet value(TObsPar1 obsPar1, TPar1 par1)
        {
            TRet result;
            bool cacheHit = checkCache(obsPar1, par1, out result);

            if (cacheHit)
            {
                Debug.Assert(result.Equals(_calc(obsPar1, …
Run Code Online (Sandbox Code Playgroud)

.net c# caching garbage-collection observer-pattern

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

将int从c#gethashcode()转换回字符串?

一个非常简单的问题:

我做的很简单.我很少string喜欢:

 string A = "usd";
Run Code Online (Sandbox Code Playgroud)

我想在C#中获取哈希码:

 int audusdReqId = Convert.ToInt32("usd".GetHashCode());
Run Code Online (Sandbox Code Playgroud)

现在我怎么能将32位整数转换audusdReqIdstring"usd"?

c# hashcode

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