小编Cam*_*ker的帖子

C# 模仿 Excel SLOPE 函数

我正在尝试计算两个数据列表的斜率。您可以使用 SLOPE 函数在 EXCEL 中轻松计算此值。=SLOPE(A1:A100, B1:B100). 我试图在 C# WinForm 中模仿这个函数。这是我的代码,它可以计算一些东西,但不是您从 Excel 函数中得到的正确数字。请帮我在这里找到错误。非常感谢!

private double Getslope(List<double> ProductGrossExcessReturnOverRFR, List<double> primaryIndexExcessReturnOverRFR, int months, int go_back = 0)
{
    double slope = 0;
    double sumx = 0, sumy = 0, sumxy = 0, sumx2 = 0;
    for (int i = ProductGrossExcessReturnOverRFR.Count - 1 - go_back; i > ProductGrossExcessReturnOverRFR.Count - (1 + months + go_back); i--)
    {
        sumxy += ProductGrossExcessReturnOverRFR[i] * primaryIndexExcessReturnOverRFR[i];
        sumx += ProductGrossExcessReturnOverRFR[i];
        sumy += primaryIndexExcessReturnOverRFR[i];
        sumx2 += ProductGrossExcessReturnOverRFR[i] * ProductGrossExcessReturnOverRFR[i]; …
Run Code Online (Sandbox Code Playgroud)

c# math excel list winforms

3
推荐指数
1
解决办法
2268
查看次数

检测 Webex 客户端是否正在运行的可靠方法

确定 Cisco Webex 客户端是否在用户计算机上运行的最佳方法是什么?目前,我正在检查这样的正在运行的进程:

public static bool IsWebExClientRunning()
{
    // webex process name started from internet browser (could change). Just use Process Explorer to find the sub process name.
    // alternate name - CiscoWebexWebService
    Process[] pname = Process.GetProcessesByName("atmgr"); 
    return pname.Length > 0;
}
Run Code Online (Sandbox Code Playgroud)

虽然此方法有效,但可能存在 Cisco 向其客户端推送更新的实例,这些更新更改了进程名称,如果我们正在寻找特定的进程名称,这将破坏此代码。

Webex 客户端作为 Internet 浏览器的子进程启动,因为它在技术上是一个浏览器插件,并且不会在 Windows 任务管理器中单独显示。我已经看到了这两个atmgrCiscoWebexWebService使用Process Explorer来查找进程。有时,根据主机操作系统时,Windows XP / Windows 7中,它只会显示atmgr而不是子进程CiscoWebexWebService属于atmgr。它也会根据所使用的浏览器而略有不同。它作为所有支持的浏览器和不支持的浏览器的浏览器插件运行,它将提供作为独立应用程序运行的选项。

进程树可能会有所不同(即其他浏览器/操作系统),但它看起来像这样:

iexplore.exe  
    -> atmgr.exe  
        -> CiscoWebexWebService.exe  
Run Code Online (Sandbox Code Playgroud)

显然,所有检查都必须在客户端而不是服务器端完成,但是有没有更好的方法来解决这个问题?

c# cisco process webex

3
推荐指数
1
解决办法
4777
查看次数

x上升到幂0不会评估为1

我创建了做单位转换类,具体字节来千字节,兆字节,千兆,等我有一个enumB通过PB,但由于某种原因1024^0不返回1,它不是正确地从字节转换为字节或字节为千字节,等等.

这是我的班级:

public static class UnitConversion
{
    /// <summary>
    /// 1024^n
    /// </summary>
    public enum ByteConversionConstant
    {
        B = 0,
        KB = 1,
        MB = 2,
        GB = 3,
        TB = 4,
        PB = 5
    }

    public static string GetValueFromBytes(long bytes,
                            ByteConversionConstant constant)
    {
        int n = (int)constant;
        long divisor = 1024^n;
        return (bytes / divisor).ToString() + 
               Enum.GetName(typeof(ByteConversionConstant), constant);
    }
}
Run Code Online (Sandbox Code Playgroud)

以下语句应返回与之完全相同的值fileInfo.Length,但由于1024^0未返回1,因此它显示的是千字节数.注意,我将GetValueFromBytes方法全部放在一行中,但是我把它分开来看看可能导致错误计算的原因. …

c# math unit-conversion

1
推荐指数
3
解决办法
655
查看次数

尝试捕获并重新抛出异常

前几天我在一个使用try catch的项目中看到了一些代码,并重新抛出了这样的捕获异常:

try
{
    exceptionProneCode();
}
catch(Exception ex)
{
    throw ex;
}
Run Code Online (Sandbox Code Playgroud)

catch块中的异常没有做任何事情,所以我甚至不确定它为什么会被重新抛出.实际上再次抛出相同的异常并对异常做任何事情都没有任何好处.

如果你重新抛出catch块中捕获的异常,C#如何处理这个?是否会陷入无限投掷/捕获循环?或者它最终会离开尝试捕获?

c# exception try-catch rethrow

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

软件支持系统的唯一票号

我正在开发一个使用ASP.NET MVC 4和Entity Framework 5来跟踪错误和软件更改的票务系统.我需要一种方法从一组可能的数字中选择一个唯一的数字.我的想法是在使用它们并将其分配给支持票据时,从该集合中创建一组可能的数字和标记号码.

我有这个代码用于生成所有可能的票号以供选择,但我希望有前导零,以便所有票号具有相同的长度:

public static class GenerateNumber
{
    private static IEnumerable<int> GenerateNumbers(int count)
    {
        return Enumerable.Range(0, count);
    }

    public static IEnumerable<string> GenerateTicketNumbers(int count)
    {
        return GenerateNumbers(count).Select(n => "TN" + n.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望输出是
IEnumerable<string> ticketNumbers = GenerateNumber.GenerateTicketNumbers(Int32.MaxValue);
这样的:
TN0000000001
.
.
.
TN2147483647

希望我们不需要任何大的东西,Int32.MaxValue因为这意味着我们有太多的错误哈哈.我只想对可用数字的限制保证安全而不是遗憾.也许我们可以使用在解决后重复使用票号的方法.但是,我不知道我对重用的感觉,因为它可能导致稍后引用文档的模糊性.

考虑到这个集合的大小,这是获得唯一票号的最有效方法吗?

c# linq asp.net-mvc-4 entity-framework-5

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

如何数数。使用javascript的本地文件夹中的图像文件

我是 JavaScript 新手,正在尝试简单的网页设计。我怀疑如何使用 js 代码获取存储在本地图像文件夹中的 no.of 图像文件。

我想得到不。动态图像文件,这样即使我们随时在文件夹中添加更多图像,这些图像也会显示在网页上。

function parenting {
  var n=3;
  for(var i=1; i<=n; i++) {
    var img1 = document.createElement('img');
    img1.src = 'images/parenting/'+i+'.jpg';
    document.body.appendChild(img1);
  }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我给了 n=3 作为默认值。图像文件,但它应该通过代码从图像文件夹中获取。

javascript

0
推荐指数
1
解决办法
6278
查看次数