小编Ian*_*Ian的帖子

Excel数据透视表 - 按类别平均

我正在尝试在数据透视表中按类别创建平均值.这是我第一次创建数据透视表,如果答案正在盯着我,那就很抱歉.我的原始数据如下:

Date,   Transaction type,   Description,     Paid out,   Paid in,    Balance,   Category
Mar-13, Visa,   SHOP,    £4.44, ,        £X,    Gifts
Mar-13, Visa,   SHOP,    £5.00, ,        £Y,    Children
Mar-13, Visa,   SHOP,    £6.00, ,        £Z,    Gifts
Mar-13, Visa,   CLOTHES SHOP YORK,   £8.00, ,        £A,    Clothing
Mar-13, Visa,   FOOD SHOP,   £11.96, ,       £B,    Food
Run Code Online (Sandbox Code Playgroud)

我的数据透视表显示按月汇总的信息,并按类别分组:

Row Labels  Sum of Paid out Sum of Paid in  Sum of Difference
2013            
   Jan        £Jan       £Jan                  £C
     Food       1              2                 -
     Car        2              3                     -
     Cash       6              6
   Feb …
Run Code Online (Sandbox Code Playgroud)

excel pivot-table

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

USB备份应用程序 - 最佳方法

我有兴趣编写一个小应用程序来备份USB文件以帮助我的妻子并减少她的压力水平,当她认为她丢失的东西!

我试图找出最好的方法,我想要一些非常简单的东西,但是想要备份更改的文件(有点像SVN).所以我提出了以下想法,但我想知道是否有更好的方式可以建议.

  • 带有"备份"按钮的小型表单应用程序,该按钮以后台线程开头.
  • 线程使用USB驱动器上的递归搜索或类似方法获取所有FileInfo,并使用一组要扫描的文件类型.
  • 使用此信息,它会将其与以前的信息进行比较,删除,添加和更新备份文件夹中的文件.

我只想备份不同的文件以提高速度.我不确定是否扫描备份目录并获取FileInfo进行比较是最好的方法(显然是使用相对路径),或者是从上次备份中获取FileInfo的集合,这些集合将保存到某些XML文件或类似文件中.

或者,可能有更好的方法来做到这一点!有人有什么建议吗?

c# backup

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

加密以保护文件免受更改

我最近一直在阅读有关加密的一些内容,并且有兴趣保护许可文件不被篡改.现在这可能不是最好的方法,在这种情况下,我愿意接受建议.但我想保护它的一种方法是简单地加密它.

但是,如果我使用加密,我需要使用对称密钥,但这提出了一个问题.如果我在源代码中存储密钥,使用反射器等工具,它真的值得吗?获得初始化向量,盐,密钥等因此破坏加密似乎是一项相当简单的任务.有没有办法保护源中的密钥?或者这是完全错误的做法?

c# encryption reverse-engineering

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

Zip Mime Type出现无法识别

我试图返回一个zip文件,作为通过浏览器的流。这可以与其他类型的文件(例如Excel文件)一起使用,但是当我开始处理zip文件时,我无法让我的浏览器识别它是zip。

我的测试机上运行的Firefox和IE都提示输入哪个程序打开文件。资源管理器设置为zip文件关联的默认设置。

IE并没有报告太多,但是Firefox告诉我什么文件类型是

申请/邮编

据我所知,这是zip文件的正确mime类型。我唯一没有设置的是扩展名,因此该文件仅称为“ Test”而不是“ Test.zip”,但据我所知,应该全部由mime类型来确定。

任何人对可能出什么问题有任何想法?

.net c# zip mime-types

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

Math.Round()实际上并没有使我的双打四舍五入

我试图返回一个double四舍五入到两位小数的地方.我已经介入并证实,在我的所有价值观的每一步中,都是如此doubles.这是我的方法:

public double FindAzimuthAtPointK(LwdData pointKData, SurveyData stationOne, SurveyData stationTwo)
{
    var deltaDepth = stationTwo.MeasuredDepth - stationOne.MeasuredDepth;

    var valueG = FindValueG(pointKData, stationOne, stationTwo);
    var valueH = FindValueH(pointKData, stationOne, stationTwo);
    var valueY = FindValueY(stationOne, stationTwo);

    var sinStationOneInclination = Math.Sin(RadianToDegreeConversion * stationOne.Inclination);
    var sinStationTwoInclination = Math.Sin(RadianToDegreeConversion * stationTwo.Inclination);

    var sinStationOneInclinationSquared = Math.Pow(Math.Sin(RadianToDegreeConversion * stationOne.Inclination), 2);
    var sinStationTwoInclinationSquared = Math.Pow(Math.Sin(RadianToDegreeConversion * stationTwo.Inclination), 2);

    var partOneBottom = ((180 * deltaDepth) * Math.Tan(RadianToDegreeConversion * (valueG*valueY) / 2)) / (Math.PI * valueY);

    var …
Run Code Online (Sandbox Code Playgroud)

c# ieee-754

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

实现异步方法

我想在类库中实现方法的同步和异步版本.目前我已经这样做了,以便Async方法触发一个新线程并进行处理.要确定操作是否已完成,用户应轮询属性以查看其是否已完成.

我想改进它,我认为使用某种形式的异步回调或结果会更好,但我不确定如何实现它,或者,如果确实有必要的话.有人可以提供任何建议吗?

c# asynchronous

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

预处理器定义

相当直截了当的问题,是否可以编写C#预处理器指令,以便我可以执行以下操作?:

ClassZ<A, B, C, D, E, F>
Run Code Online (Sandbox Code Playgroud)

ClassZ<T>
Run Code Online (Sandbox Code Playgroud)

哪里

T = <A, B, C, D, E, F>
Run Code Online (Sandbox Code Playgroud)

c# generics c-preprocessor

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

MessageBox没有提供预期的DialogResult

DialogResult我的表单中有一个简单的OK/Cancel 实例:

MessageBox.Show("Number of records affected:" + numberOfRecordsroll + " Please check the data is correct before proceeding:", "Please validate your changes", MessageBoxButtons.OKCancel);

DialogResult dr = new DialogResult();
if (dr == DialogResult.OK)
{
    // CommitTheChanges();
    MessageBox.Show("test", "test");
}
else if (dr == DialogResult.Cancel)
{
    //Do nothing
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,如果用户单击是,则CommitTheChanges应该调用该方法,但是这不会触发.我已经评论过它并进行了测试MessageBox.Show().再次这不起作用.我在这做错了什么?

.net c# dialogresult winforms

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

字典:类似于upset的用法[compact syntax]

我想用一些简短的语法做类似的事情:

var p = new Dictionary<string, string>();
p["a"] = "2";
p["a"] = "3";
Run Code Online (Sandbox Code Playgroud)

相反,我必须这样做:

if (p.ContainsKey("a"))
    p["a"] = "2";
else
    p.Add("a", "2");

if (p.ContainsKey("a"))
    p["a"] = "3";
else
    p.Add("a", "3");
Run Code Online (Sandbox Code Playgroud)

它是否存在紧凑的语法?

.net c# dictionary

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

打印出1和200之间可以被13整除的数字

    int i=1;
    do
    {
        if (i % 13 == 0)
            Response.Write(i + "<br>");

        i++;
    } while (i < 201);
Run Code Online (Sandbox Code Playgroud)

作为标题,我想打印出可以从1到200整除的数字.上面的代码有效,但为什么我不能这样写呢?

    int i=1;
    do
    {
        Response.Write(i + "<br>");

        i++;
    } while (i < 201 && i % 13 = 0);
Run Code Online (Sandbox Code Playgroud)

非常感谢!

c# if-statement visual-studio do-while

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