小编Fre*_*dou的帖子

为会话值的键名创建枚举是一个好主意吗?

而不是做

 session("myvar1") = something
 session("myvar2") = something
 session("myvar3") = something
 session("myvar4") = something
Run Code Online (Sandbox Code Playgroud)

是在做

enum sessionVar
   myvar1
   myvar2
   myvar3
   myvar4
end enum


 session(sessionVar.myvar1.tostring) = something
 session(sessionVar.myvar2.tostring) = something
 session(sessionVar.myvar3.tostring) = something
 session(sessionVar.myvar4.tostring) = something
Run Code Online (Sandbox Code Playgroud)

会更好?

vb.net asp.net session-variables session-state

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

如何在WCF中使用自定义序列化或反序列化来强制datacontact的每个属性上的新实例?

我有一个datacontact,其中有许多成员都有自定义类

如果在反序列化时属性为null,我想强制一个新实例.

有没有办法做到这一点?

c# wcf customization datacontract deserialization

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

锯齿状阵列与一个大阵列?

不太确定如何提出这个问题,但我有两种方法(到目前为止)用于查找数组

选项1是:

bool[][][] myJaggegArray;

myJaggegArray = new bool[120][][];
for (int i = 0; i < 120; ++i)
{
  if ((i & 0x88) == 0)
  {
    //only 64 will be set
    myJaggegArray[i] = new bool[120][];
    for (int j = 0; j < 120; ++j)
    {
      if ((j & 0x88) == 0)
      {
        //only 64 will be set
        myJaggegArray[i][j] = new bool[60];
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

选项2是:

bool[] myArray;
//                [998520]
myArray = new bool[(120 | (120 << 7) | (60 << …
Run Code Online (Sandbox Code Playgroud)

c# chess

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

在实体框架中使用.include创建巨大的查询?

我没想到像这样生成的查询......

放开,如果我保留一个包含,查询看起来不错,它会做一个简单的左连接

查询:

using (var db = new Context())
{
    var data = db.MainTables.Include(x => x.LookupTables)
                            .Where(d => d.MainId == 10)
                            .FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)

SQL生成:

Opened connection at 2014-05-12 17:37:10 -04:00
SELECT 
    [Project1].[MainId] AS [MainId], 
    [Project1].[C1] AS [C1], 
    [Project1].[LookupId] AS [LookupId]
    FROM ( SELECT 
        [Limit1].[MainId] AS [MainId], 
        [Extent2].[LookupId] AS [LookupId], 
        CASE WHEN ([Extent2].[MainId] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C1]
        FROM   (SELECT TOP (1) [Extent1].[MainId] AS [MainId]
            FROM [dbo].[MainTable] AS [Extent1]
            WHERE 10 = [Extent1].[MainId] ) AS …
Run Code Online (Sandbox Code Playgroud)

c# t-sql entity-framework entity-framework-6.1

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

函数式编程如何影响您的编码风格?

现在大多数程序员都使用OOPS概念进行软件开发.

但其中一些人也接触过函数式编程.

函数式编程如何影响您的编码风格?

functional-programming

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

linq&distinct,实现equals和gethashcode

所以我正在努力使这项工作,我似乎无法知道为什么它不起作用

演示代码;

namespace ConsoleApplication1
{
class Program
{
    static void Main(string[] args)
    {
        var myVar = new List<parent >();
        myVar.Add(new parent() { id = "id1", blah1 = "blah1", c1 = new child() { blah2 = "blah2", blah3 = "blah3" } });
        myVar.Add(new parent() { id = "id1", blah1 = "blah1", c1 = new child() { blah2 = "blah2", blah3 = "blah3" } });

        var test = myVar.Distinct();

        Console.ReadKey();

    }
}


public class parent : IEquatable<parent>
{
    public String id { …
Run Code Online (Sandbox Code Playgroud)

.net c# linq

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

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

暂停System.Timers.Timer的正确方法?

我正在考虑如何暂停一个System.Timers.Timer,我无法找到正确的方法来暂停它而不重置计时器.

怎么暂停呢?

.net vb.net timer

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

为什么LINQ 2 SQL有时会添加一个像select 1这样的字段作为test,其他有效字段

我必须连接2 linq2sql查询,我有一个问题,因为2查询不返回相同数量的列,奇怪的是在查询后的.ToList()之后,它们可以连接而没有问题.

原因是,对于一些linq2sql的原因,我还有2个名为test和test2的列来自linq2sql自动创建的2个左外连接,类似"select 1 as test, tablefields"

这有什么好的理由吗?如何删除这个额外的"1作为测试"字段?

这里有一些它的样子:google结果为linq 2 sql"select 1 as test"

linq-to-sql

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

如何保持"form.ShowDialog()"的"this.ShowInTaskBar"同时保持打开状态?

如果您在一个包含2个表单的全新winform应用程序中运行此代码片段(将其放在form1中)

    private void Form1_Load(object sender, EventArgs e)
    {
        Form2 newForm = new Form2();
        Button b = new Button();
        newForm.Controls.Add(b);
        b.Click += new EventHandler(click);
        this.Show();
        newForm.ShowDialog();

    }

    private void click(object sender, EventArgs e)
    {
        ((Form)((Control)sender).Parent).ShowInTaskbar = false;
    }
Run Code Online (Sandbox Code Playgroud)

然后单击新表单上的按钮(应该是form2),form2将关闭.

如何保持开放?

.net c# winforms

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