小编pap*_*zzo的帖子

来自字符串的MD5哈希

需要从字符串中获取MD5哈希值.
获取错误MD5为空.
我想从字符串中获取32个字符的MD5哈希值.

using (System.Security.Cryptography.MD5 md5 = 
       System.Security.Cryptography.MD5.Create("TextToHash"))
{
    byte[] retVal = md5.Hash;
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < retVal.Length; i++)
    {
        sb.Append(retVal[i].ToString("x2"));
    }
}
Run Code Online (Sandbox Code Playgroud)

.net md5

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

WPF按钮没有边框没有背景

我只需要一个简单的按钮,它看起来像一个TextBlock.前段时间我在SO上找到了一个答案,根据菜单中按钮的静态样式设置按钮的样式,但我找不到答案(我一直在搜索一小时).有谁知道我所指的系统风格以及将该风格应用于按钮的语法?

wpf styles button

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

如何从SQL Server中的列中删除不间断的空格?

我正在尝试CHAR 160从表中的字段中删除不间断的空格().我已经尝试过使用类似的功能RTRIM()来摆脱它,但价值仍然存在.

我需要做什么才能从列中删除不间断的空间?

t-sql sql-server

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

LINQ包含基于属性

需要检查列表是否包含属性值为X的项目.

使用FirstOrDefault并与null比较:

   searchItems.FirstOrDefault(si => si.ID == 99) == null
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?

我无法解决Contains上的语法错误.谢谢.

.net linq

13
推荐指数
2
解决办法
7612
查看次数

new KeyValuePair <UInt32,UInt32>(i,j).GetHashCode(); 高重复率

为了寻找词典的快速复合键,我遇到异常,我无法理解也无法证明.

在有限的测试中

Dictionary<KeyValuePair<UInt32, UInt32>, string>
Run Code Online (Sandbox Code Playgroud)

明显慢于(200:1)

Dictionary<KeyValuePair<UInt16, UInt16>, string>
Run Code Online (Sandbox Code Playgroud)

测试两个循环,从0到1000 Populate,然后包含ContainsKey

         Poplulate     ContainsKey  
UInt32    92085         86578  
UInt16     2201           431
Run Code Online (Sandbox Code Playgroud)

问题是

new KeyValuePair<UInt32, UInt32>(i, j).GetHashCode();
Run Code Online (Sandbox Code Playgroud)

产生许多重复.
在循环i和j 1024中,仅创建1024个唯一散列值.

基于来自CasperOne的雪崩评论尝试了i*31和j*97(两个素数),这导致105280在1024X1024上独一无二.仍然有很多重复.CasperOne我知道这与随机不一样.但随机输入并不是我的工作.GetHashCode()应该随机化输出.

为什么重复次数很多?

相同的循环

new KeyValuePair<UInt16, UInt16>(i, j).GetHashCode();
Run Code Online (Sandbox Code Playgroud)

产生1024 X 1024唯一哈希码(完美).

Int32有同样的问题.

这些重复哈希值会终止

Dictionary<KeyValuePair<UInt32, UInt32>, string> 
Run Code Online (Sandbox Code Playgroud)

与Int16相比,元组还会生成很多重复项,在Int32中不会降级.

生成原始KVP和原始KPV.GetHashCode的时间类似.

与HashSet相同的异常.

Dictionary<KeyValuePair<UInt32, UInt32>, string> dKVPu32 = new Dictionary<KeyValuePair<UInt32, UInt32>, string>();
Dictionary<KeyValuePair<UInt16, UInt16>, string> dKVPu16 = new Dictionary<KeyValuePair<UInt16, UInt16>, string>();
KeyValuePair<UInt32, UInt32> kvpUint32;
KeyValuePair<UInt16, UInt16> kvpUint16;
int range = 1000;
Int32 hashCode;
HashSet<Int32> kvpUint32Hash = new HashSet<Int32>(); …
Run Code Online (Sandbox Code Playgroud)

.net dictionary gethashcode

13
推荐指数
2
解决办法
3140
查看次数

WPF MessageBox默认取消

有了这个,默认是OK.我可以进行默认取消吗?

   MessageBoxResult result = MessageBox.Show
      (message, caption, MessageBoxButton.OKCancel);
Run Code Online (Sandbox Code Playgroud)

wpf messagebox

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

DateTime.Parse DD/MM/YYYY 24小时时钟

DateTime.Parse失败

 15/08/2000 16:58
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

我需要解析日期并获得一些国际性的.

DD/MM/YYYY不会翻到24小时制

MM/DD/YYYY将接受24小时制

2000年8月15日下午4:58将解析

从Kibbee的回答中我看到了使用其他文化.我使用正则表达式来确定它是否是dd/MM,如果是,请使用culture fr-FR.

.net datetime

11
推荐指数
2
解决办法
4万
查看次数

正则表达式使用单词边界但单词以a结尾.(期)

想要匹配单词i.v.不区分大小写

有模式

(?i)\bi\.v\.
Run Code Online (Sandbox Code Playgroud)

但是最后想要一个单词边界
上面的模式失败,因为它匹配
ivx

但如果我尝试添加工作边界到最后

(?i)\bi\.v\.\b
Run Code Online (Sandbox Code Playgroud)

它失败了因为它甚至不匹配iv,因为我认为\b正在吃文字.作为.是一个单词突破
需要\.贪婪

我想要匹配
sam iv sam

不想匹配
sam.iv
ivsam

这越来越近了

(?i)\bi\.v\.\s$
Run Code Online (Sandbox Code Playgroud)

但它没有在一行结束时找到iv

.net regex

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

DatePicker System.FormatException

在这个DatePicker中,如果我输入无效日期,如
1/1/20001(输入密钥),
我会得到以下异常

mscorlib.dll中发生了'System.FormatException'类型的第一次机会异常

附加信息:字符串未被识别为有效的DateTime.

但看起来这是由绑定引发的,我找不到处理它的方法.
在调试中,我在屏幕上得到了上述内容

打开堆栈跟踪,它说在SearchItem.Date1上抛出错误
但是问题是在那种情况下实际上没有调用get

如果我输入一个有效的日期,例如1/1/2000,我会看到设置和调用.

如果我输入无效日期,则无需设置调用.

我输入和无效日期并按输入或丢失焦点只是恢复到前一个日期并且不会抛出异常.如果先前的日期为null,则它将恢复为null.

这对我来说是一个关键问题,如果用户输入有效日期然后输入无效日期,则DatePicker只会恢复到上一个​​有效日期.因此用户不知道日期没有改变.

问题是如何处理无效的日期异常?

<DatePicker Width="140" DisplayDateStart="1/1/1990" DisplayDateEnd="12/31/2020" 
            SelectedDate="{Binding Path=Date1, Mode=TwoWay, ValidatesOnExceptions=True, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"/>
Run Code Online (Sandbox Code Playgroud)

如果我拿出来

, ValidatesOnExceptions=True, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged  
Run Code Online (Sandbox Code Playgroud)

没有什么变化

private DateTime? date1; 
public DateTime? Date1
{
    get
    {
        try
        {
            return date1;
        }
        catch (Exception ex)
        {
            return (DateTime?)null;
            throw;
        }
    }
    set
    {
        if (date1 != value)
        {
            date1 = value;
            NotifyPropertyChanged("Date1");    
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

wpf datepicker formatexception

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

使用多个CTE

无法弄清楚如何使用多个CTE

这失败了

; with [cteOne] as (
  select 1 as col
),
  [cteTwo]  as (
  select 2 as col
)
select 'yesA' where exists (select * from [cteOne])
select 'yexB' where exists (select * from [cteTwo])
Run Code Online (Sandbox Code Playgroud)

这有效 - 但这不是我需要的

; with [cteOne] as (
  select 1 as col
),
  [cteTwo]  as (
  select 2 as col
)
select * from [cteOne]
union 
select * from [cteTwo]
Run Code Online (Sandbox Code Playgroud)

真正的语法是row_number()分区的连接
我刚刚使用派生表

t-sql sql-server common-table-expression

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