小编Mic*_*kyD的帖子

将整数数组转换为逗号分隔的字符串

这是一个简单的问题; 我是C#的新手,我该如何执行以下操作

  • 我想将整数数组转换为逗号分隔的字符串.

我有

int[] arr = new int[5] {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)

我想将它转换为一个字符串

string => "1,2,3,4,5"
Run Code Online (Sandbox Code Playgroud)

c# arrays string

253
推荐指数
4
解决办法
22万
查看次数

ReSharper格式化:对齐相等的操作数

Google员工注意,此问题有些过时,因为ReSharper 2017.3.1的当前版本现在支持所请求的功能

我喜欢格式化我的代码以对齐相等操作数的右侧.
像这儿:

bool    canRead     = false;
bool    canReadClass    = true;
string  className   = boType.Name;
Run Code Online (Sandbox Code Playgroud)

我最近切换到ReSharper并发现它非常有用,但找不到允许我以描述的方式格式化代码的选项.

你知道是否有这样的选项/插件?
也许除了ReSharp解决方案之外您还知道吗?

编辑:
如何决定代码的哪一部分应该对齐?
我的约定是将所有变量对齐在同一个块中.
通过"块"我的意思是部分代码没有被空行分割.

例如

// First block
int      count     = 10;
string   name      = "abc";
bool     calculate = true;
.....
.....
// Second block
MyOwnType    myType   = new MyOwntype();
int          count    = 10;
Run Code Online (Sandbox Code Playgroud)

编辑-2
我为此打开了R#票.如果有兴趣的话请投票!

c# resharper code-formatting

27
推荐指数
4
解决办法
8230
查看次数

使用IDisposable清理Excel Interop对象

在我的公司中,发布Excel Interop Objects的常用方法是使用IDisposable,方法如下:

Public Sub Dispose() Implements IDisposable.Dispose
    If Not bolDisposed Then
        Finalize()
        System.GC.SuppressFinalize(Me)
    End If
End Sub

Protected Overrides Sub Finalize()
    _xlApp = Nothing
    bolDisposed = True
    MyBase.Finalize()
End Sub
Run Code Online (Sandbox Code Playgroud)

IDisposable构造函数中以下列方式创建的位置:

Try
    _xlApp = CType(GetObject(, "Excel.Application"), Excel.Application)
Catch e As Exception
    _xlApp = CType(CreateObject("Excel.Application"), Excel.Application) 
End Try
Run Code Online (Sandbox Code Playgroud)

并且客户端使用_xlApp执行有关excel互操作对象的代码.

我们完全避免使用双点规则.现在我开始研究如何重新发布(Excel)互操作对象以及我发现的几乎所有关于它的讨论如何正确清理excel互操作对象释放Excel对象主要使用Marshal.ReleaseComObject(),它们都没有使用IDisposable接口.

我的问题是:使用IDisposable Interace释放excel互操作对象有什么缺点吗?如果是这样,这些不利因素是什么.

.net vb.net excel interop com-interop

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

CSC:错误CS7038:无法发出模块

安装Visual Studio 2015并构建我的项目后,我收到错误

"CSC:错误CS7038:无法发出模块".

但是我的解决方案在Visual Studio 2013中正常运行.

它是一个ASP.NET webforms项目.NET 4.0

任何人?

更新:看起来问题与Red Gate Smart Assembly结合使用默认值的方法参数有关.

更新: Smart Assembly 6.9为我修复了错误.

.net c# visual-studio roslyn visual-studio-2015

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

如何使用"rm"而不是"git rm"添加和提交删除?

我使用rmFinder等从Git存储库中删除了一堆文件和目录.

我正在寻找一个Git命令,它会将这些记录到索引标记为删除,就好像我已经调用git rm它们一样.

我理解git add -u会这样做,还有其他一些事情.我希望我的命令专门处理删除.

git version-control

18
推荐指数
2
解决办法
8235
查看次数

在VS2017企业版中创建新的编码UI测试项目的要求

我刚安装了Visual Studio 2017 Enterprise(15.0.26228.4 D15RTWSVC)和.NET Framework 4.6.01055版.我无法将新的编码UI测试项目添加到新解决方案中,因为我无法在"新建项目"对话框中找到该项目类型.我认为这是因为我在安装Visual Studio时没有安装一些可选模块.

我需要安装哪个可选模块才能将新的Coded UI测试项目添加到VS2017 Enterprise的解决方案中?

coded-ui-tests visual-studio-2017

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

AndroidGameWindow.SetDisplayOrientation NullReferenceException

我使用MonoGame和Xamarin为Android开发了一款游戏.我将BugSense合并到其中并迅速开始获得以下异常堆栈跟踪:

System.NullReferenceException: Object reference not set to an instance of an object
at Microsoft.Xna.Framework.AndroidGameWindow.SetDisplayOrientation (Microsoft.Xna.Framework.DisplayOrientation) <0x001c4>
at Microsoft.Xna.Framework.AndroidGameWindow.SetOrientation (Microsoft.Xna.Framework.DisplayOrientation,bool) <0x00097>
at Microsoft.Xna.Framework.OrientationListener.OnOrientationChanged (int) <0x001c7>
at Android.Views.OrientationEventListener.n_OnOrientationChanged_I (intptr,intptr,int) <0x0003f>
at (wrapper dynamic-method) object.ed9d7c7c-f3e6-4d7a-9249-1a139a251aed (intptr,intptr,int) <0x00043>
Run Code Online (Sandbox Code Playgroud)

这就是我的活动设置方式:

[Activity(Label = "My Cool Game"
        , MainLauncher = true
        , Icon = "@drawable/icon"
        , Theme = "@style/Theme.Splash"
        , AlwaysRetainTaskState = true
        , LaunchMode = Android.Content.PM.LaunchMode.SingleTask
        , ScreenOrientation = ScreenOrientation.Portrait
        , ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden)]
Run Code Online (Sandbox Code Playgroud)

在游戏构造函数中,我有以下内容:

public Game1()
{
    _graphics = new GraphicsDeviceManager(this); …
Run Code Online (Sandbox Code Playgroud)

c# android xamarin.android monogame

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

是否有可能在Monogame/XNA中获得"上下文"手势?

我正在使用Monogame开发多点触控应用程序,其中多个用户可以同时处理具有单独文档/图像/视频的更大的多点触摸屏,我想知道是否可以使手势"具有上下文感知",即两个手指在墙壁的一侧捏住文件不应该影响某人平移墙壁的另一侧.

Monogame的工作方式是,所有输入点都转换为手势,可以使用以下方法读取:

if (TouchPanel.IsGestureAvailable)
{
     var gesture = TouchPanel.ReadGesture();
     // do stuff
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让手势限制在屏幕上的某个点,或者我是否需要自己实现?例如,通过查看源代码,看起来TouchPanelState该类完成了所有工作,但不幸的是它的构造函数是internal.

c# multi-touch gesture monogame

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

.Net 4.5包括.Net 4.0

我正在使用Winforms开发一个C#桌面应用程序.我使用visual studio点击一次安装工具创建了一个安装策略.幸运的是,它为客户提供检测,下载和设置相关的必备组件.

我的问题是我开始使用.NET 4.0开发此应用程序,然后在先决条件列表上将其升级到.NET 4.5,同时选中4.5和4.我想知道如果我取消选中.NET 4.0组件它会没问题吗?

.NET 4.5是否包含.NET 4.0?

.net deployment clickonce frameworks

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

使用MEF和VSIX创建Visual Studio项目系统

我正在寻找为Visual Studio创建自定义项目系统.但网上的一些资料让我有些困惑.它们都是指VSPackages,据我所知,这些与VSIX完全不同.我现有的扩展功能是通过VSIX提供的.通过VSIX提供新的项目类型是不可能的吗?

我也查看了他们的示例代码,这是一些可怕的 COM内容.有没有新的闪亮的MEF项目,比如扩展编辑器的语法高亮和东西?

c# visual-studio-2012

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