为什么我不能在这里抓住争论的激励:
string path = "\"";
bool dirOk = true;
try
{
dirOk = Directory.Exists(path);
}
catch (ArgumentException)
{
dirOk = false;//Never gets in here
}
Run Code Online (Sandbox Code Playgroud)
编辑:对不起,样品路径不好,现在改了!
配置VS调试器以暂停所有异常.VS将断言:"ArgumentException发生""路径中的非法字符.",但try catch什么都不做.
编辑2:我想我明白了,抱歉.VS中断,但异常已经在Exists()中捕获.
好的,我有一个棋盘应用程序.该应用程序在一个组框中有64个面板.这些面板用表达式CHessBoardPanels {x,y)标识.我用它来改变面板的背景颜色.我想在chessPanel.BackGround变为红色和面板变回白色之间有一个小的延迟.(大约1到2秒的延迟)我尝试过睡眠功能,但它基本上锁定了应用程序直到任务已经完成完成
这是我尝试过的代码:
for (int Row = 7; Row > 3; --Row)
{
chessBoardPanels[ Column ,Row].BackColor = Color.Red;
++Column;
//Add text to Moves TextBox
MovesText.AppendFormat("WhtB {0} {1}{2}", ColumnText, RowText, Environment.NewLine);
MovesTxt.Text = MovesText.ToString();
++ColumnText;
--RowText;
}
//Start White Horizonal Drill
Column = 0;
Thread.Sleep(5000); //This does not delay proerperly
for (int Row = 7; Row > 4; --Row)
{
chessBoardPanels[Column, Row].BackColor = Color.White;
++Column;
//Add text to Moves TextBox
MovesText.AppendFormat("WhtB {0} {1}{2}", ColumnText, RowText, Environment.NewLine);
MovesTxt.Text = MovesText.ToString();
++ColumnText;
--RowText; …Run Code Online (Sandbox Code Playgroud) 我有一个我在C中无法理解的代码; char c是字符串,应该是随机的,这里是问题,26应该是从97开始的值范围,但它很容易理解整数,但在char的情况下我不知道它是什么意思成为
char c = (char) rand() % 26 + 97;
Run Code Online (Sandbox Code Playgroud) 我想通过Roslyn填充这种类型的using语句.
Using(var logger = new MethodLogger("someparam"))
{
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能生成它..
我正在尝试这个SyntaxFactory.UsingStatement
我试图将值转换为字节数组.
例如,我有:
var b1 = BitConverter.GetBytes(0x85);
var b2 = BitConverter.GetBytes(12345);
Run Code Online (Sandbox Code Playgroud)
价值b1是:
{byte[4]}
[0]: 133
[1]: 0
[2]: 0
[3]: 0
Run Code Online (Sandbox Code Playgroud)
并且b2:
{byte[4]}
[0]: 57
[1]: 48
[2]: 0
[3]: 0
Run Code Online (Sandbox Code Playgroud)
为什么字节数组的大小总是为4?是否可以返回正确的字节数(即不包括尾随0)?
我有一个这样的字符串
str = "4975 + 10 * (LOG(250.6)) - 321.2"
Run Code Online (Sandbox Code Playgroud)
我想计算这个操作的结果.有没有办法做到这一点?
// my operation just includes some of operators (,), +, -, *, / , ., 0-9, LOG
// '.' is used for double number
Run Code Online (Sandbox Code Playgroud) 我是非常新的XML使用C#我有一个XML我需要通过父亲中的特定子项我需要获取id和调用变量变量我这样做但每次都没有通过循环
我需要通过xml的所有父项,直到我得到我想要的树吗?
xml
<message xmlns="jabber:client" to="1072@finesse1.dcloud.cisco.com" id="/finesse/api/User/1072/Dialogs__1072@finesse1.dcloud.cisco.com__104Y2" from="pubsub.finesse1.dcloud.cisco.com">
<event xmlns="http://jabber.org/protocol/pubsub#event">
<items node="/finesse/api/User/1072/Dialogs">
<item id="460c2d27-c914-4c24-a95f-edf9f8df45c21535">
<notification xmlns="http://jabber.org/protocol/pubsub">
<Update>
<data>
<dialogs>
<Dialog>
<associatedDialogUri></associatedDialogUri>
<fromAddress>1071</fromAddress>
<id>18639330</id>
<mediaProperties>
<DNIS>1072</DNIS>
<callType>AGENT_INSIDE</callType>
<dialedNumber>1072</dialedNumber>
<outboundClassification></outboundClassification>
<callvariables>
<CallVariable>
<name>callVariable1</name>
<value></value>
</CallVariable>
<CallVariable>
<name>callVariable2</name>
<value></value>
</CallVariable>
<CallVariable>
<name>callVariable3</name>
<value></value>
</CallVariable>
<CallVariable>
<name>callVariable4</name>
<value></value>
</CallVariable>
<CallVariable>
<name>callVariable5</name>
<value></value>
</CallVariable>
<CallVariable>
<name>callVariable6</name>
<value></value>
</CallVariable>
<CallVariable>
<name>callVariable7</name>
<value></value>
</CallVariable>
<CallVariable>
<name>callVariable8</name>
<value></value>
</CallVariable>
<CallVariable>
<name>callVariable9</name>
<value></value>
</CallVariable>
<CallVariable>
<name>callVariable10</name>
<value></value>
</CallVariable>
</callvariables>
</mediaProperties>
<mediaType>Voice</mediaType>
<participants>
<Participant>
<actions>
<action>ANSWER</action>
</actions>
<mediaAddress>1072</mediaAddress>
<mediaAddressType>AGENT_DEVICE</mediaAddressType>
<startTime>2017-09-15T19:23:36.872Z</startTime> …Run Code Online (Sandbox Code Playgroud) 试图了解如何使用 Task.Delay 我一直在做一系列简单的实验,我发现了以下内容。
首先我这样做了
static void Main(string[] args)
{
Console.WriteLine("Start");
Task.Run(async () => {
Stopwatch sw = Stopwatch.StartNew();
await Task.Delay(2000);
// for(int i=0;i<1000;i++)
// await Task.Delay(2);
sw.Stop();
Console.WriteLine("Delay of {0}", sw.ElapsedMilliseconds);
//return sw.ElapsedMilliseconds;
});
Console.WriteLine("End of everything:");
Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)
结果正如预期的那样延迟了 2 秒多一点。到目前为止,一切都很好!然后我注释了延迟线并取消注释了 for 循环。1000 次 2 毫秒必须给出 2 秒,对吗?错误的!这次用了15秒。
我稍后会对此发表评论,但只是为了进行比较,我这样做了。
static void Main(string[] args)
{
Console.WriteLine("Start");
Stopwatch sw = Stopwatch.StartNew();
for (int i = 0; i < 1000; i++)
Thread.Sleep(2);
// Thread.Sleep(2000);
sw.Stop();
Console.WriteLine("Delay of {0}", sw.ElapsedMilliseconds);
Console.WriteLine("End");
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我得到了更精确的 …
我正在使用C#windows窗体并遇到了这个问题
我有两种形式,在第一种形式用户输入用户名和按下按钮.Button调用一个在数据库中保存用户名的函数.
private void btn_Click(object sender, EventArgs e)
{
Database db = new Database();
db.SaveUsername(txtUsername.Text);
new Form2().Show();
}
Run Code Online (Sandbox Code Playgroud)
这个SaveUsername()函数是在单独的类中
class Database
{
public void SaveUsername(string username)
{
Connect(); //Connection to database
//Some lines to save username in database
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是当用户点击进入它需要一点时间打开Form2所以我希望新的表单应该出现并且SaveUsername()功能在后台运行而无需用户等待它完成.怎么做?
尽管我用谷歌搜索了一段时间,但我找不到服务器端Blazor的任何Model-View-XYZ框架实现,即Razor组件(XYZ代表以下任何一种:Controller,Presenter,ViewModel)。
如果有人知道这样的实现,无论它处于开发的哪个阶段,请告诉我。非常感谢。
编辑:问题是,是否有人遇到或参与了这种框架的开发。
这个问题非常简单 -有人在Internet上遇到过一些有关针对Razor组件(又称为服务器端Blazor)的框架的信息,因为到目前为止我还没有。