小编JMK*_*JMK的帖子

CultureInfo.InvariantCulture是什么意思?

我有一串这样的文字:

var foo = "FooBar";
Run Code Online (Sandbox Code Playgroud)

我想声明第二个字符串,bar并使其等于我的第一个和第四个字符foo,所以我这样做:

var bar = foo[0].ToString() + foo[3].ToString();
Run Code Online (Sandbox Code Playgroud)

这可以按预期工作,但ReSharper建议我把它Culture.InvariantCulture放在我的括号内,所以这一行最终如下:

var bar = foo[0].ToString(CultureInfo.InvariantCulture)
        + foo[3].ToString(CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

这是什么意思,它会影响我的程序运行方式吗?

.net resharper

160
推荐指数
4
解决办法
14万
查看次数

我如何实现IEnumerable <T>

我知道如何实现非通用IEnumerable,如下所示:

using System;
using System.Collections;

namespace ConsoleApplication33
{
    class Program
    {
        static void Main(string[] args)
        {
            MyObjects myObjects = new MyObjects();
            myObjects[0] = new MyObject() { Foo = "Hello", Bar = 1 };
            myObjects[1] = new MyObject() { Foo = "World", Bar = 2 };

            foreach (MyObject x in myObjects)
            {
                Console.WriteLine(x.Foo);
                Console.WriteLine(x.Bar);
            }

            Console.ReadLine();
        }
    }

    class MyObject
    {
        public string Foo { get; set; }
        public int Bar { get; set; }
    }

    class MyObjects : IEnumerable
    { …
Run Code Online (Sandbox Code Playgroud)

.net c# generics

118
推荐指数
4
解决办法
13万
查看次数

将现有目录添加到解决方案资源管理器中的目录

我想在解决方案资源管理器中将已存在的目录添加到目录中,但每当我右键单击该目录并选择时Add => Existing Item,我只能添加单个文件,而不能添加目录.

如何将现有目录添加到Solution Explorer中的Project内的目录中?

visual-studio-2012

104
推荐指数
3
解决办法
6万
查看次数

从Visual Studio 2013解决方案中删除Git绑定?

我在Visual Studio 2013中添加了一个新的TFS解决方案,我选择了Git而不是TFS.

我想删除Git绑定,并添加TFS.

我知道你可以从文件 - > 源代码控制中删除TFS绑定,但这似乎不是一个选项.

如何从Visual Studio解决方案中删除Git绑定,并添加TFS?

谢谢

version-control visual-studio-2013

73
推荐指数
4
解决办法
5万
查看次数

我在C#5中使用.Net 4.5可以做什么,而我在C#4中无法使用.Net 4做什么?

我在Windows 8 Release Preview上安装了Visual Studio 2012 RC,我的问题是有没有与Metro无关的任何有用的新功能,或者Metro是分离.Net 4和.Net 4.5?

.net c# c#-5.0 .net-4.5 asp.net-4.5

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

使用==比较两个结构

我试图在C#中使用equals(==)比较两个结构.我的结构如下:

public struct CisSettings : IEquatable<CisSettings>
{
    public int Gain { get; private set; }
    public int Offset { get; private set; }
    public int Bright { get; private set; }
    public int Contrast { get; private set; }

    public CisSettings(int gain, int offset, int bright, int contrast) : this()
    {
        Gain = gain;
        Offset = offset;
        Bright = bright;
        Contrast = contrast;
    }

    public bool Equals(CisSettings other)
    {
        return Equals(other, this);
    }

    public override bool Equals(object obj)
    {
        if …
Run Code Online (Sandbox Code Playgroud)

c# struct equality

48
推荐指数
3
解决办法
5万
查看次数

如何将对象传递给计时器事件?

好的,我System.Timers.Timer在.Net 4中使用C#.

我有我的计时器对象:

var timer = new Timer {Interval = 123};
Run Code Online (Sandbox Code Playgroud)

我有一个Timer Elapsed事件处理程序指向一个像这样的方法:

timer.Elapsed += MyElapsedMethod;
Run Code Online (Sandbox Code Playgroud)

我的方法看起来像这样:

static void MyElapsedMethod(object sender, ElapsedEventArgs e)
{
    Console.WriteLine("Foo Bar");
}
Run Code Online (Sandbox Code Playgroud)

我想将一个字符串传递给这个方法,我该怎么做?

谢谢

c# timer

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

regtlibv12怎么了?

我在分区上安装了Windows 8,安装了Visual Studio 11/2012 Professional,但在regtlibv12.exe内部找不到C:\Windows\Microsoft.NET\Framework\v4.0.30319.

下面是我的Windows 7分区的屏幕截图,其中包含.Net 4.0(和regtlibv12):

Windows 7  -  .Net 4

下面是带有.Net 4.5的Windows 8(并且没有regtlibv12):

Windows 8  -  .Net 4.5

regtlibv12不再.NET Framework的一部分?我是否还需要安装.Net 4.0?如果我在.4.0之上安装.Net 4.0会怎样?我知道他们都去了硬盘上的同一个位置,4.5有效地覆盖了4.0,而且在Windows 8上默认为4.5.我需要安装4.0,然后重新安装4.5以获得regtlibv12吗?

谢谢

windows-8 .net-4.5 visual-studio-2012 regtlib

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

Excel Interop - 在所有其他工作表之后添加新工作表

我正在尝试将新工作表添加到Excel工作簿,并使其成为C#Excel Interop中书中的最后一个工作表.

看起来很简单,我认为下面的代码会这样做:

using System.Runtime.InteropServices;
using Excel = Microsoft.Office.Interop.Excel;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var excel = new Excel.Application();

            var workbook = excel.Workbooks.Open(@"C:\test\Test.xlsx");
            workbook.Sheets.Add(After: workbook.Sheets.Count);

            workbook.Save();
            workbook.Close();

            Marshal.ReleaseComObject(excel);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

没有这样的运气.我收到这个有用的错误:

COMException未处理 - 来自HRESULT的异常:0x800A03EC

我在Microsoft.com上找到了这个页面,建议我先尝试添加表单,然后移动它,所以我尝试了如下所示.我知道这个网页的目标是Excel 95,但VBA仍然可以使用,所以我希望它仍然可以工作:

using System.Runtime.InteropServices;
using Excel = Microsoft.Office.Interop.Excel;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var excel = new Excel.Application();

            var workbook = excel.Workbooks.Open(@"C:\test\Test.xlsx");
            workbook.Sheets.Add();
            workbook.Sheets.Move(After: workbook.Sheets.Count);

            workbook.Save();
            workbook.Close();

            Marshal.ReleaseComObject(excel);
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# excel interop

28
推荐指数
3
解决办法
7万
查看次数

检查VBA中的列中是否存在值

我有一列超过500行的数字.我需要使用VBA来检查变量X是否与列中的任何值匹配.

有人可以帮帮我吗?

excel vba matching

28
推荐指数
4
解决办法
34万
查看次数