小编Dum*_*ore的帖子

为什么不向Double.MaxValue添加数字使其成为Double.PositiveInfinity?

Double.PositiveInfinity文档中,它写道:

当操作结果大于MaxValue时,返回此常量.

但是,当我尝试将数字添加到最大值时double,它不会返回infinity.我试过这个:

double maxVal = Double.MaxValue;
maxVal = maxVal + 10000000000000000000;
Console.WriteLine(maxVal + " " + Double.IsInfinity(maxVal)); //prints 1.79769313486232E+308 False
Run Code Online (Sandbox Code Playgroud)

为什么会这样?为什么没有显示maxValinfinity

这是一个工作小提琴.

c#

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

单向一对一关系实体框架,级联删除不起作用

我想实现一对一的单向关系; 但是在级联删除不起作用.

我有以下课程:

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Address Address { get; set; }
}

public class Address
{
    public int Id { get; set; }
    public string Street { get; set; }
    //I don't want the StudentId foreign key or the property of Student class here 
}
Run Code Online (Sandbox Code Playgroud)

在我的Context类中,我正在映射这样的关系:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Student>()
        .HasRequired(s => s.Address)
        .WithOptional()
        .Map(m => m.MapKey("Address_Id"))
        .WillCascadeOnDelete();
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它不会删除 …

c# entity-framework-6

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

<=工作慢于<

我在SO上找到了一些关于<和<=的性能比较的问题(这个问题非常简单),我总能找到相同的答案,即两者之间没有性能差异.

我写了一个比较程序(不是那么工作小提琴......复制到你的机器上运行它),我在其中创建了两个循环for (int i = 0; i <= 1000000000; i++ )for (int i = 0; i < 1000000001; i++ )两种不同的方法.

我跑了100次方法; 取平均经过的时间,发现<=运算符循环比运算符运行慢<.

我多次运行程序并且<=总是花费更多时间来完成.我的结果(im ms)是:

3018.73,2772.22

2816.87,2760.62

2859.02,2797.05

我的问题是:如果没有一个更快,为什么我看到结果的差异?我的程序有什么问题吗?

c# performance

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

多维数组 - 数组数组?

我有一个包含数字作为2D矩阵的字符串.我正在尝试使用Split函数将a的内容拆分string为数组.所以,当我这样做时:

String[] subStrs = new String[20];
subStrs = str.Split('\n'); 
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常.但是,当我尝试创建一个2D数组并尝试使用相同的方式填充子数组时:

String[,] numbers = new String[20,20];
for (int i = 0; i < subStrs.Length; i++ )
{
    numbers[i] = subStrs[i].Split(' '); //Error
}
Run Code Online (Sandbox Code Playgroud)

我得到以下编译器错误:

[]内的索引数量错误; 预期2.

如果2D数组实际上是一个数组数组,那么为什么该语句是numbers[i] = subStrs[i].Split(' ');非法的?

PS:我知道我可以使用嵌套循环来填充numbers.我只是好奇为什么我不能使用上面的方法?

c# arrays

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

标签 统计

c# ×4

arrays ×1

entity-framework-6 ×1

performance ×1