需要从字符串中获取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) 我只需要一个简单的按钮,它看起来像一个TextBlock.前段时间我在SO上找到了一个答案,根据菜单中按钮的静态样式设置按钮的样式,但我找不到答案(我一直在搜索一小时).有谁知道我所指的系统风格以及将该风格应用于按钮的语法?
我正在尝试CHAR 160
从表中的字段中删除不间断的空格().我已经尝试过使用类似的功能RTRIM()
来摆脱它,但价值仍然存在.
我需要做什么才能从列中删除不间断的空间?
需要检查列表是否包含属性值为X的项目.
使用FirstOrDefault并与null比较:
searchItems.FirstOrDefault(si => si.ID == 99) == null
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点?
我无法解决Contains上的语法错误.谢谢.
为了寻找词典的快速复合键,我遇到异常,我无法理解也无法证明.
在有限的测试中
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) 有了这个,默认是OK.我可以进行默认取消吗?
MessageBoxResult result = MessageBox.Show
(message, caption, MessageBoxButton.OKCancel);
Run Code Online (Sandbox Code Playgroud) 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.
想要匹配单词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
在这个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) 无法弄清楚如何使用多个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()分区的连接
我刚刚使用派生表
.net ×5
wpf ×3
sql-server ×2
t-sql ×2
button ×1
datepicker ×1
datetime ×1
dictionary ×1
gethashcode ×1
linq ×1
md5 ×1
messagebox ×1
regex ×1
styles ×1