而不是做
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)
会更好?
我有一个datacontact,其中有许多成员都有自定义类
如果在反序列化时属性为null,我想强制一个新实例.
有没有办法做到这一点?
不太确定如何提出这个问题,但我有两种方法(到目前为止)用于查找数组
选项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) 我没想到像这样生成的查询......
放开,如果我保留一个包含,查询看起来不错,它会做一个简单的左连接
查询:
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) 现在大多数程序员都使用OOPS概念进行软件开发.
但其中一些人也接触过函数式编程.
函数式编程如何影响您的编码风格?
所以我正在努力使这项工作,我似乎无法知道为什么它不起作用
演示代码;
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) 我正在考虑如何暂停一个System.Timers.Timer,我无法找到正确的方法来暂停它而不重置计时器.
怎么暂停呢?
我必须连接2 linq2sql查询,我有一个问题,因为2查询不返回相同数量的列,奇怪的是在查询后的.ToList()之后,它们可以连接而没有问题.
原因是,对于一些linq2sql的原因,我还有2个名为test和test2的列来自linq2sql自动创建的2个左外连接,类似"select 1 as test, tablefields"
这有什么好的理由吗?如何删除这个额外的"1作为测试"字段?
这里有一些它的样子:google结果为linq 2 sql"select 1 as test"
如果您在一个包含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将关闭.
如何保持开放?