我正在为Silverlight游戏设计扫雷类布局.目前,我在square控件上使用了用户Canvas控件.分配了属性.我还想在稍后阶段添加功能.它是关于使用贝塞尔曲线弯曲并使用x,y坐标绘制曲线上的那些正方形而不是循环.然后我想将方块的x,y位置发送到XML文件中.
我的问题是,在最小内存消耗,快速高效的性能以及易于实现方面,我应该采用哪种方式作为最佳优化组合.如果您的专家有任何其他想法,请告诉我.提前致谢.!
请帮我确定以下哪些是更优化的代码?
for(int i=0;i<count;i++)
{
switch(way)
{
case 1:
doWork1(i);
break;
case 2:
doWork2(i);
break;
case 3:
doWork3(i);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
要么
switch(way)
{
case 1:
for(int i=0;i<count;i++)
{
doWork1(i);
}
break;
case 2:
for(int i=0;i<count;i++)
{
doWork2(i);
}
break;
case 3:
for(int i=0;i<count;i++)
{
doWork3(i);
}
break;
}
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,总是在每次迭代中始终检查开关情况条件的开销.在第二种情况下,开销不存在.我觉得第二种情况要好得多.如果有人有任何其他解决方法,请帮我建议.
首先,我显示一个登录表单。当用户输入正确的ID和密码时,我想显示另一个表单,然后关闭登录表单。以下是我启动登录表单的方式。
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmLogin());
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我想显示主窗体时,我调用该类的dispose()方法FrmLogin,但是应用程序立即结束。我的解决方案是将class 的visible属性更改FrmLogin为false,我知道这是不对的,请提出解决方案。
我正在研究一种降低字母数字 值的逻辑List<char>.例如,A10变为A9,BBA变为BAZ,123变为122.是的,如果输入的值是最后一个(如A或0),那么我应该返回-
额外的开销是存在List<char>由用户维护的变量.它有要跳过的字符.例如,如果列表中包含A,则GHB值应变为GGZ而不是GHA.
这个逻辑的基础是一个非常简单的减少使用的用法char但是在这些条件下,我发现它非常困难.
我的项目是在Silverlight中,语言是C#.以下是我在3种方法中尝试做的代码:
List<char> lstGetDecrName(List<char> lstVal)//entry point of the value that returns decreased value
{
List<char> lstTmp = lstVal;
subCheckEmpty(ref lstTmp);
switch (lstTmp.Count)
{
case 0:
lstTmp.Add('-');
return lstTmp;
case 1:
if (lstTmp[0] == '-')
{
return lstTmp;
}
break;
case 2:
if (lstTmp[1] …Run Code Online (Sandbox Code Playgroud) 我想同步2个滚动查看器.请让我知道如何获得两个scrollviewer的滚动事件,然后同步它们?
有没有办法在将名称的第一个字母输入文本框时将其首字母大写?
例如,当一个类型为john doe时,文本框应显示John Doe.
我知道它可以在c#代码中完成,但只是想知道是否有更简单的方法通过属性或正则表达式.
c# ×5
silverlight ×4
logic ×2
asp.net ×1
bezier ×1
for-loop ×1
forms ×1
performance ×1
scrollviewer ×1
textbox ×1