小编Moe*_*sko的帖子

Cookie中允许的字符

这个是一个快速的:

cookie名称和值中允许的字符是什么?它们与URL或某些常见子集相同吗?

我要问的原因是,我最近发现了一些奇怪的行为,其中包含-名称中的cookie,我只是想知道它是否是浏览器特定的,或者我的代码是否有问题.

cookies

290
推荐指数
6
解决办法
15万
查看次数

SQL Server Profiler:如何为"NOT LIKE"列过滤器指定多个值

根据:http: //msdn.microsoft.com/en-us/library/ms175061.aspx 它说"NOT LIKE"关系运算符:"指定跟踪事件数据不能像输入的文本一样.允许多个值".

但是,您如何指定多个值?

sql-server profiler

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

属性是否应与其类型相同?

我有时会看到这样编写的代码:

public class B1
{
}

public class B2
{
    private B1 b1;

    public B1 B1
    {
        get { return b1; }
        set { b1 = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

即,B2类具有名为"B1"的属性,其也是"B1"类型.

我的直觉告诉我这不是一个好主意,但有什么技术原因可以避免给出与其类同名的财产吗?

(我正在使用.net 2.0,以防万一).

.net c# naming-conventions

66
推荐指数
5
解决办法
2万
查看次数

null动态变量和函数重载

示例代码:

private void DoSomething(object obj)
{
    MessageBox.Show("called object");
}

private void DoSomething(params object[] obj)
{
    MessageBox.Show("called object[]");
}


private void button1_Click(object sender, EventArgs e)
{
    decimal? amount = null;
    dynamic obj = amount;

    DoSomething(obj); 
}
Run Code Online (Sandbox Code Playgroud)

单击按钮1时,将显示消息"被调用对象[]".在这个例子中,似乎首选带有object []参数的重载方法.有什么想法吗?我比任何事情都好奇.

(背景:这种行为在使用动态视图的Razor中导致了一些意想不到的结果 在RazorEngine中格式化可为空的十进制).

.net c#

18
推荐指数
2
解决办法
888
查看次数

枚举0值不一致

示例代码:

    public enum Foods
    {
        Burger,
        Pizza,
        Cake
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Eat(0);   // A
        Eat((Foods)0);  // B
        //Eat(1);  // C : won't compile : cannot convert from 'int' to 'Foods'
        Eat((Foods)1);  // D    
    }

    private void Eat(Foods food)
    {
        MessageBox.Show("eating : " + food);
    }
Run Code Online (Sandbox Code Playgroud)

C行的代码无法编译,但A行编译正常.有一个0值的枚举是否有特殊处理在这样的情况下得到特殊处理?

c# c#-4.0

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

可以将嵌入式图像提取到文件中吗?

给定其中包含嵌入图像的SSRS报告定义文件,只是想知道是否可以提取该图像XML以重新创建原始图像文件.

例如:

在rdlc文件中,你可能会看到像这样的xml:

<EmbeddedImage Name="tick">
  <MIMEType>image/bmp</MIMEType>
  <ImageData>Qk1mAwAAAAAAADYAAAAoAAAAEAAAABEAAAABABgA ... <<REST OF IMAGE HERE>>
  </ImageData>
</EmbeddedImage>
Run Code Online (Sandbox Code Playgroud)

是否可以采用ImageData,并以某种方式转换形式来重新创建原始图像位图字节流?

(这在您丢失嵌入图像所基于的原始图像文件的情况下可能很有用.)

image reporting-services

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

String.CompareTo与case

示例代码说明:

    int res1 = "a".CompareTo("A");  // res1 = -1
    int res2 = "ab".CompareTo("A");  // res2 = 1
Run Code Online (Sandbox Code Playgroud)

我看到了res1 = -1,res2 = 1最后,这有点出乎意料.我认为res1会返回1,因为在ASCII图表上"A"(0x41)出现在"a"(0x61)之前.

而且,似乎很奇怪,因为res2字符串的长度似乎有所不同.即如果"a"出现在"A"之前(如res1 = -1所示),那么我会认为"a"withAnythingAfterIt也会出现在"A"withAnythingAfterIt之前.

有人可以解释一下吗?谢谢.

.net c#

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

如何让Windows批处理文件安全地更新自己

例如,我想运行一个windows批处理文件,比如upgrade.bat,它将一堆文件从源目录复制到批处理文件所在的目录.问题是,复制的其中一个文件可能是更新版本的升级.bat,以便批处理文件在其仍在运行时将覆盖自身.

这似乎导致批处理文件执行的一些不可预测的行为,所以我想避免复制仍在运行的批处理文件.理想情况下,我希望现有版本的upgrade.bat运行直到完成,然后下次运行新版本.有没有(简单)方法来实现这一目标?

batch-file

8
推荐指数
3
解决办法
5033
查看次数

将DataTable作为参数传递给存储过程

我有一个用C#创建的数据表.

DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));

dt.Rows.Add("James", 23);
dt.Rows.Add("Smith", 40);
dt.Rows.Add("Paul", 20);
Run Code Online (Sandbox Code Playgroud)

我想将此传递给以下存储过程.

CREATE PROCEDURE  SomeName(@data DATATABLE)
AS
BEGIN
    INSERT INTO SOMETABLE(Column2,Column3)
    VALUES(......);
END
Run Code Online (Sandbox Code Playgroud)

我的问题是:我们如何将这3个元组插入SQL表?我们需要使用点运算符访问列值吗?或者还有其他方法吗?

c# t-sql sql-server ado.net stored-procedures

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

c#"=="运算符:具有不同结构的编译器行为

代码说明:

    public struct MyStruct
    {
        public int SomeNumber;
    }

    public string DoSomethingWithMyStruct(MyStruct s)
    {
        if (s == null)
            return "this can't happen";
        else
            return "ok";
    }

    private string DoSomethingWithDateTime(DateTime s)
    {
        if (s == null)
            return "this can't happen";  // XX
        else
            return "ok";
    }
Run Code Online (Sandbox Code Playgroud)

现在,"DoSomethingWithStruct"无法编译:"运算符'=='不能应用于'MyStruct'和' <null>'" 类型的操作数.这是有道理的,因为尝试与结构进行参考比较没有意义,结构是一种值类型.

OTOH,"DoSomethingWithDateTime"编译,但编译器警告:"检测到无法访问的代码"标记为"XX"的行.现在,我假设这里没有编译器错误,因为DateTime结构重载了"=="运算符.但编译器如何知道代码无法访问?例如,它是否在重载"=="运算符的代码内部?(这是使用Visual Studio 2005以防万一).

注意:我对上述情况比任何事都更好奇.我通常不会尝试使用"=="来比较结构和空值.

编辑:我将尝试简化我的问题 - 为什么"DoSomethingWithDateTime"编译,当"DoSomethingWithMyStruct"没有.两个参数都是结构.

.net c#

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