小编csj*_*nst的帖子

在C#中舍入double值

我想在C#中对double值进行舍入方法.它需要能够将double值舍入到任何舍入精度值.我手边的代码看起来像:

public static double RoundI(double number, double roundingInterval) {

    if (roundingInterval == 0.0)
    {
        return;
    }

    double intv = Math.Abs(roundingInterval);
    double sign = Math.Sign(number);
    double val = Math.Abs(number);

    double valIntvRatio = val / intv;
    double k = Math.Floor(valIntvRatio);
    double m = valIntvRatio - k;

    bool mGreaterThanMidPoint = ((m - 0.5) >= 1e-14) ? true : false;
    bool mInMidpoint = (Math.Abs(m - 0.5) < 1e-14) ? true : false;
    return (mGreaterThanMidPoint || mInMidpoint) ? sign * ((k + 1) * intv) …
Run Code Online (Sandbox Code Playgroud)

c# double rounding

30
推荐指数
2
解决办法
5万
查看次数

在C#2.0中创建向导的最佳方法是什么?

我有一个winforms应用程序,用户将创建库存项目,创建时间需要发生许多不同的事情.

我认为这个UI可能应该是某种向导,但我不确定实现这一目标的最佳方法.我已经看到了几个第三方向导控件,我也看到了使面板可见/不可见的手动实现.

人们过去使用过的最好的方法是什么,易于实现,如果需要,还可以在以后轻松地向向导添加"页面"?

c# user-interface wizard visual-studio winforms

25
推荐指数
2
解决办法
1万
查看次数

如何使用c#查明进程是否已在运行?

我有C#winforms应用程序,需要不时启动一个外部exe,但我不希望启动另一个进程,如果一个已经运行,而是切换到它.

那么在C#中我将如何在下面的示例中这样做?

using System.Diagnostics;

...

Process foo = new Process();

foo.StartInfo.FileName = @"C:\bar\foo.exe";
foo.StartInfo.Arguments = "Username Password";

bool isRunning = //TODO: Check to see if process foo.exe is already running


if (isRunning)
{
   //TODO: Switch to foo.exe process
}
else
{
   foo.Start(); 
}
Run Code Online (Sandbox Code Playgroud)

c# external-process winforms

25
推荐指数
3
解决办法
4万
查看次数

升级程序集时,在隔离存储中迁移文件的最佳方法是什么?

我有一个.Net 2.0 C#应用程序偶尔会更新,并且汇编版​​本和文件版本会增加.这一切都运行正常,但它也破坏了在隔离存储中存储xml设置文件.(xml文件由DevExpress XtraGridView.SaveLayoutToXml()生成)

有没有办法将这些文件从隔离存储中的旧文件夹复制到新文件夹.即从Appname\1.0.0.0到Appname\1.0.1.0

或者是否有更好的地方存储这些xml文件,当应用程序的文件版本发生变化时,这些文件不会改变?

我不想将这些文件存储在应用程序的.exe文件夹中,因为在没有管理员权限的情况下,不允许应用程序在Vista中写入该文件夹.

c# devexpress isolatedstorage winforms

6
推荐指数
1
解决办法
688
查看次数

取消按钮是否应该要求确认?

如果用户点击取消按钮,是否会弹出一个要求确认的对话框?

如果是这样,这应该是所有时间,还是只有在表单上有未保存的更改时?

user-interface winforms

6
推荐指数
2
解决办法
593
查看次数

如何在Microsoft Dynamics CRM 2011中没有ExecutionContext.CallerOrigin的情况下阻止无限循环?

在Microsoft Dynamics CRM 4.0中创建插件时,您可以使用以下内容检查导致插件触发的事件的来源.

public void Execute(IPluginExecutionContext context)
    {
        if (context.CallerOrigin.GetType() == CallerOrigin.WebServiceApi.GetType())
        {
            return;
        }
        plugin code here...
     }
Run Code Online (Sandbox Code Playgroud)

这将允许您检查操作是由表单中的用户,Web服务还是工作流等引起的...

我有一个同步应用程序,它通过WCF创建和更新实体,并且不希望插件在发生这种情况时执行,只有当用户编辑实体时(以防止同步过程中出现无限循环).

IExecutionContext.CallerOrigin已在MS Dynamics CRM 2011中删除,那么新的方法是什么?

我当时认为可能有一种方法可以设置IExecutionContext.CorrelationIdWCF调用,然后检查插件中的特定Guid,但我还没有运气.

c# wcf dynamics-crm infinite-loop dynamics-crm-2011

6
推荐指数
2
解决办法
8968
查看次数

我是否应该学习Linq to SQL,即使它已被纳入实体框架?

我希望学习Linq来查询MS SQL数据库,但我不确定要采用哪条路径.我最近读到Linq to SQL正在进入实体框架,并且开发可能停滞不前.

是否值得学习Linq to SQL?或者我应该关注实体框架或其他对象关系模型,如Ideablade的Devforce,它正在转向Linq作为它的查询语言?

.net entity-framework object-relational-model linq-to-sql devforce

5
推荐指数
1
解决办法
1152
查看次数