小编Kar*_*gus的帖子

正确的方法来取消装箱数据库值

我有一个较旧的Oracle数据库的工作,我觉得有可能是一个更好的方式去了解我拆箱从数据库中检索值.

目前,我有一个充满不同类型特定方法的静态类:

public static int? Int(object o)
{
    try
    {
        return (int?)Convert.ToInt32(o);
    }
    catch (Exception)
    {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

..等等,对于不同的类型,但我觉得应该有更好的方法?如果我想取消装箱值,我会做一些......

int i;
i = nvl.Int(dataRow["column"]); //In this instance, "column" is of a numeric database type
Run Code Online (Sandbox Code Playgroud)

我想过使用泛型类来处理所有不同的类型,但我无法找到最佳方法.

有任何想法吗?

c# database unboxing

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

.NET中的对象相等

我觉得这很无知,但是有人能够向我解释为什么会这样吗?

class MyClass{ public int i {get; set; } }
class Program
{
    static void Main(string[] args)
    {
        MyClass a = new MyClass();
        MyClass b = new MyClass();

                b.i = 2;
        a = b;
        a.i = 1;

        Console.Write(b.i + "\n"); //Outputs 1
    }
}

这对我来说是有意义的,因为我使用指针和所有那些伟大的东西,但我的印象是,使用C#,"b"将保持独立于"a".

我只是使用了一些非常糟糕的做法吗?也许有人可以指出我解释为什么在C#中这样的事情?

谢谢.

c# equality object

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

标签 统计

c# ×2

database ×1

equality ×1

object ×1

unboxing ×1