async ctp
今天早上我一直在玩,并有一个简单的程序与a button
和a label
.点击button
它开始更新label
,停止button
它停止写入label
.但是,我不确定如何重置,CancellationTokenSource
以便我可以重新启动该过程.我的代码如下:
public partial class MainWindow : Window
{
CancellationTokenSource cts = new CancellationTokenSource();
public MainWindow()
{
InitializeComponent();
button.Content = "Start";
}
async Task DoWork(CancellationToken cancelToken)
{
int i = 0;
while (!cancelToken.IsCancellationRequested)
{
label.Content = i++.ToString();
await TaskEx.Delay(50, cancelToken);
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
if (button.Content == "Start")
{
button.Content = "Stop";
DoWork(cts.Token);
}
else
{
button.Content = "Start";
cts.Cancel(); …
Run Code Online (Sandbox Code Playgroud) c# asynchronous async-await cancellationtokensource cancellation-token
我遇到了一些规则(建议)使用混凝土List
和Dictionary
,而不是IList
和IDictionary
给予,显示通过该接口访问样本测试是相当慢一点.例如,将10000个值添加到列表然后Count
在列表上执行10亿次表示通过接口执行此操作比通过具体类执行它慢28倍.即,通过具体类需要80ms,通过界面需要2800ms,这表明它通过界面的速度非常慢.鉴于此,使用具体类是合理的.有没有理由说接口这么慢?(可能更多的是针对那些了解更多关于.net内部的人).
我想在listview上过滤textchange事件的数据,所以我使用dataview来过滤数据.下面代码中的问题是,我在每个内部都使用dataview,这样它只检查一个只有它的最后一个值的条件,我想用数据视图检查s1中的值,剩下的值应该与listview绑定.
例如:如果我输入一个文本框,它应该列出所有项目值,以anandha kumar,anna等值开头.假设我在数组s1中保留anandha kumar和anna的值.我应该列出所有其他值,期望像listview中的数组值,如antony ect ....
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
dvProducts = (DataView)Session["ListViewItems"];
string serachText = EscapeLikeValue(TextBox1.Text);
string lvValues = hdRetailCustomerGroup.Value;
string trim = lvValues.Replace(" ", "");
trim = trim.Replace("\r", "");
trim = trim.Replace("\n", "");
trim = trim.Replace("\t", "");
string str = trim;
string[] list = str.Split('|');
foreach (string s1 in list)
{
if (s1 != string.Empty)
{
dvProducts.RowFilter = "(CODE like '" + serachText + "*') AND (CODE <> '" + s1 …
Run Code Online (Sandbox Code Playgroud) 是否可以使用Windows 8/Windows Phone 8 Proximity API创建一个在Windows 8(作为服务器)设备和"n"(> 1)Windows Phone 8设备之间进行通信的应用程序?
[编辑] 我的意思是同时使用NFC建立连接和Wi-Fi或蓝牙进行数据交换.
根据这篇文章:http://msdn.microsoft.com/en-us/library/windows/apps/br241210.aspx,Windows Phone 8不支持Wi-Fi Direct.它到底意味着什么?2个Windows Phone 8设备之间?
我认为它可以根据MSDN库工作:http: //msdn.microsoft.com/en-us/library/windows/apps/jj207060.aspx
此方案适用于Windows Phone 8和Windows 8设备.当点击成功时,您将返回一个可以与其他设备通信的套接字.在Windows Phone 8上,此套接字建立在TCP/IP(Wi-Fi)连接或蓝牙连接上.
有任何想法吗?
我希望你们能给我一些好的建议.我在想如何为C#开发建立一个好的架构.我正在尽力解释情景,因为我不擅长英语:
1)两个类:Blue Bank和Red Bank
2)第三类:验证规则
3)蓝色和红色银行有几个字段(值),如AccountNumber,Amount,InvoicePeriod等......这里的示例(xml):
蓝银行
<AccountNumber>Maria 5987593457</AccountNumber>
<Amount>200.00</Amount>
<InvoicePeriod>1</InvoicePeriod>
Run Code Online (Sandbox Code Playgroud)
红银行
<AccountNumber>8529458</AccountNumber>
<Amount>300.00</Amount>
<InvoicePeriod>0</InvoicePeriod>
Run Code Online (Sandbox Code Playgroud)
红色/蓝色银行具有一些相同的验证规则,例如必须是数字的金额字段.但Red/Blue Banks有不同的验证规则 - AccountNumber字段在Blue Bank中必须是alphanumberic,而AccountNumber必须在Red Bank中是numberic,否则将失败.InvoicePeriod字段在Red Bank中必须为默认值1,而在Blue Bank中必须为默认值0,否则将失败.
我的想法是:
我想为不同的验证规则创建每个类的Red/Blue Bank,然后我还为Blue/Red银行所具有的相同规则创建验证类规则.
我的代码在这里:
蓝银班:
红银班:
RulesOfValidation类
这些课程如何与dictonary <,>一起使用?或者您的示例代码有什么更好的建议吗?
非常感谢您的帮助.
问题似乎很愚蠢,但我真的不明白.
module Responses =
type Failure =
| Problem of string
| Error of exn
| Timeout
static member toString x =
match x with
| Problem str -> sprintf "Problem %s" str
| Error e -> sprintf "Error %s" (e.ToString())
| Timeout -> "Timeout"
override x.ToString() = Failure.toString x
Run Code Online (Sandbox Code Playgroud)
错误是
override x.ToString() = Failure.toString x;;
--------------------------------------^^^^^^^^
stdin(11,41): error FS0039: The field, constructor or member 'toString' is not defined
Run Code Online (Sandbox Code Playgroud)
原因是f#因某种原因认为Failure
属于类型Microsoft.FSharp.Core.Operations.Failure
当我试着写
override x.ToString() = Responses.Failure.toString x
Run Code Online (Sandbox Code Playgroud)
我明白了 …
我有一个StockMultibuy
项目列表,正在构建这些项目的列表.列表中的某些项目我希望具有与现有项目不同的属性,因此我尝试创建项目的新实例,更改了我想要的属性,然后将其添加到列表中.我没想到会更新列表中已有的项目.这是预期的行为吗?我能做些什么来克服这个问题吗?
谢谢
StockMultibuy aNewItem = StaticLists.GetStockMultibuyForBarcode(sBarcode);
// If we've got enough items to qualify, then add a free item
if (Reward.StockItemsTaken.Count % (Reward.FreeWhenQualified + Reward.QualifyingQty)
== Reward.QualifyingQty)
{
aNewItem.PromoPrice = 0;
}
// Save this for later so that we know we've added a regular item
else
{
aNewItem.PromoPrice = Convert.ToDecimal(aNewItem.Sell);
}
Reward.StockItemsTaken.Add(aNewItem);
Run Code Online (Sandbox Code Playgroud) 到处搜寻.使用参数查看https://github.com/fsharp/FAKE/blob/master/src/app/Fake.IIS/IISHelper.fs#L64string * string
.试图在F#代码中实例化并收到错误FS0010:在表达式中此点或之前包含结构化构造.
这个世界是什么以及如何实例化这个?
c# ×5
f# ×2
.net ×1
asp.net ×1
async-await ×1
asynchronous ×1
nfc ×1
performance ×1
proximity ×1
static ×1
validation ×1
windows-8 ×1