我有一个域模型对象,其属性类型为System.DateTimeOffset.我正在使用一个本地不支持这种类型的数据库,所以我打算使用'datetime'类型的列和'smallint'类型的列来存储它.
我已经挖掘了如何使用NHibernate组件映射它,并发现它可以使用ICompositeUserType实例.但是,在实现接口时,我遇到了名为"SetPropertyValue"的方法,该方法表面上设置了类型中的属性.由于DateTimeOffset是一个System.ValueType,只是设置这样的属性是不可行的,因为它是不可变的(至少,没有使用一些反射或不安全的代码,我想避免).由于SetPropertyValue上的实例参数不是'ref',如何在NHibernate中使用ValueType实例作为组件?
我为数据集提供哈希以指纹数据并通过哈希识别它 - 这是快速哈希(如SHA1和MD5)的核心用例.
在.Net中,可以选择使用其中一些哈希的本机或托管实现(无论如何都是SHA变体).我正在寻找一个MD5托管实现,并且.Net Framework中似乎没有.但是想知道包装的原生CSP是否更快,如果我应该只使用它内容那么就没有了使用它的问题.对于为什么.NET框架中没有托管MD5实现的最佳答案?表示更快的性能可能是托管变体不存在的原因.
这是真的,如果是这样,原生CSP的速度有多快?
我在我的webbrowser对象上打开了一个html页面,我可以输入用户名和密码,但我卡住了,不知道如何提交信息.这是用户名/密码提交的html代码:
<div id="signin">
<h2 class="ir">
<em></em>Sign in</h2>
<form action="/login/" method="post">
<input id="login-url" name="login[url]"
type="hidden" value="/characters/" />
<input id="login-urlError" name="login[urlError]"
type="hidden" value="/account/?error=1" />
<fieldset>
<ul>
<li class="row">
<label for="login-username">
Username <span class="req">*</span>
</label>
<input id="login-username" name="login[username]"
type="text" class="TextBox" value="" />
</li>
<li class="row">
<label for="login-password">
Password <span class="req">*</span>
</label>
<input id="login-password" name="login[password]"
type="password" class="TextBox Password" value="" />
</li>
<li class="but">
<input name="login[submit]" type="image"
class="img" alt="Login »"
src="/_pub/img/hp/but-login.png" />
</li>
</ul>
</fieldset>
</form>
<p>
<a href="/account/password-reset/">ACCOUNT TROUBLE?</a>
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我使用以下命令输入用户名和密码:
WebBrowser1.Document.GetElementById("login-username").SetAttribute("Value", Information.txtuser.Text) …Run Code Online (Sandbox Code Playgroud) (坚持使用异步获取许多网页的常见示例)
我将如何异步分离多个(数百个)网页请求,然后在进入下一步之前等待所有请求完成?Async.AsParallel一次处理几个请求,由CPU上的核心数控制.抓取网页不是CPU绑定操作.不满意Async.AsParallel的加速,我正在寻找替代方案.
我试图连接Async.StartAsTask和Task []之间的点.WaitAll.本能地,我编写了以下代码,但它没有编译.
let processItemsConcurrently (items : int seq) =
let tasks = items |> Seq.map (fun item -> Async.StartAsTask(fetchAsync item))
Tasks.Task.WaitAll(tasks)
Run Code Online (Sandbox Code Playgroud)
你会怎么做?
我有一个类似ReactiveUI的视图模型.它有几个不同类型的属性来触发NotifyPropertyChanged事件,我想订阅一个方法,当任何被触发时将被调用,但我对实际值不感兴趣.
我当前的代码有点难看(由于true选择不透明).有没有办法表达这一点,这表明在事件发生时只关心他人的意图?
this.ObservableForProperty(m => m.PropertyOne)
.Select(_ => true)
.Merge(this.ObservableForProperty(m => m.PropertyTwo).Select(_ => true))
.Subscribe(...)
Run Code Online (Sandbox Code Playgroud)
我正在合并8个属性,所以它比显示的更难看.
这是我正在使用的代码
using (FileStream fs = new FileStream(filename, FileMode.Open))
using (StreamReader rdr = new StreamReader(fs))
{
while (!rdr.EndOfStream)
{
for (int z = 0; z < 2; z++)
{
string[] lines = rdr.ReadLine().Split('|');
{
sb.AppendLine(";Re");
sb.AppendLine("@C PAMT " + lines[3]);
sb.AppendLine("@T " + lines[0]);
sb.AppendLine("@D @I\\" + lines[1]).Replace("I:\\", "");
sb.AppendLine(lines[2].Replace(";", "\r\n");
}
}
}
}
using (FileStream fs = new FileStream(outputfilename, FileMode.Create))
using (StreamWriter writer = new StreamWriter(fs))
{
writer.Write(sb.ToString());
}
Run Code Online (Sandbox Code Playgroud)
我想要的是跳过StreamReader的第一行或跳过整个第一个stringbuilder.我以为for会这样做,但它没有.
注意:我想推荐一个foreach.
我有一个持续时间(0:0:0.5),我在一些动画中使用,我想只在一个地方定义这个数字.我可以将double定义为
<Window.Resources>
<sys:Double x:Key="GridWidth">400</sys:Double>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)
但不确定如何将持续时间表示为资源.谢谢.
我有一个简单的多边形(凸面或凹面,但没有孔),我需要切割成具有线段的部分.我不确定如何实际确定切片后多少个多边形结果,或者如何对顶点进行分组.
基本凸面情况总是导致2个子多边形很容易,但我如何处理复杂的凹形?以"E"形多边形为例.垂直切片可以产生4个多边形.如何确定哪些顶点构成每个子多边形?
定义多边形:我有两个选择.我的多边形可以是有序的顶点列表,也可以是三角形数组.我更喜欢使用三角形数组的解决方案.循环遍历每个三角形并且如果它们相交则用线切割它应该非常容易.但后来我不知道如何将这些三角形分组为产生的子多边形.
伪代码甚至一般建议都是好的; C#实现是理想的.
我手动将PaperKind转换为PageMediaSizeName,如下所示:
static PageMediaSizeName ConvertPaperKindToPageMediaSize(PaperKind paperKind)
{
switch (paperKind)
{
case PaperKind.Custom:
return PageMediaSizeName.Unknown;
case PaperKind.Letter:
return PageMediaSizeName.NorthAmericaLetter;
case PaperKind.Legal:
return PageMediaSizeName.NorthAmericaLegal;
case PaperKind.A4:
return PageMediaSizeName.ISOA4;
case PaperKind.CSheet:
return PageMediaSizeName.NorthAmericaCSheet;
case PaperKind.DSheet:
return PageMediaSizeName.NorthAmericaDSheet;
case PaperKind.ESheet:
return PageMediaSizeName.NorthAmericaESheet;
case PaperKind.LetterSmall:
throw new NotImplementedException();
case PaperKind.Tabloid:
return PageMediaSizeName.NorthAmericaTabloid;
case PaperKind.Ledger:
throw new NotImplementedException();
case PaperKind.Statement:
return PageMediaSizeName.NorthAmericaStatement;
case PaperKind.Executive:
return PageMediaSizeName.NorthAmericaExecutive;
case PaperKind.A3:
return PageMediaSizeName.ISOA3;
case PaperKind.A4Small:
throw new NotImplementedException();
case PaperKind.A5:
return PageMediaSizeName.ISOA5;
case PaperKind.B4:
return PageMediaSizeName.ISOB4;
case PaperKind.B5:
throw new …Run Code Online (Sandbox Code Playgroud) c# ×3
.net ×2
.net-4.0 ×2
performance ×2
wpf ×2
asynchronous ×1
browser ×1
clr ×1
f# ×1
geometry ×1
input ×1
line ×1
md5 ×1
native ×1
nhibernate ×1
observable ×1
orm ×1
polygon ×1
printing ×1
reactiveui ×1
sha ×1
slice ×1
sscli ×1
value-type ×1
vb.net ×1
xaml ×1