小编Sam*_*ell的帖子

是否有Java的vararg参数的C#替代品?

我从事过Java和新的.Net技术

是否可以在C#中声明一个接受变量输入参数的函数

是否有类似于以下Java语法的C#语法?

void f1(String... a)
Run Code Online (Sandbox Code Playgroud)

c#

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

字典或KeyedCollection?

我有一个类(SomeClass),其中包含一个属性Namestring类型.我需要存储该类的数组并按名称查找其项目.为此目的,有两种类型的集合:KeyedCollectionDictionary.我的问题是:它们之间有什么区别,在这种情况下最好使用KeyedCollectionDictionary?感谢您提供任何解释帮助.

.net c#

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

Visual C#Studio项目中的哪些文件不需要进行版本控制?

我是Visual C#Studio的新手(实际上使用的是Express版,但是另一个开发人员正在使用完整版),我们正在使用版本控制(svn).

我可以将项目文件添加到存储库,因为这个repo只适用于使用Visual C#Studio的我们两个人.但感觉就像那里有一些无关的文件.有熟悉Visual C#Studio项目文件的人能告诉我哪些文件可以安全地被svn:忽略?

一些可疑文件:

  • project.csproj
  • project.csproj.Debug.cachefile
  • project.csproj.user
  • project.sln
  • project.suo
  • 内容\ Content.contentproj

我确定.sln是必需的,但这是什么.suo?和.csproj?在加载项目时,Visual C#Studio是否可以/应该生成这些内容?

c# svn visual-studio-2008 visual-studio

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

为什么C#中没有`fieldof`或`methodof`运算符?

它们可以如下使用:

FieldInfo field = fieldof(string.Empty);
MethodInfo method1 = methodof(int.ToString);
MethodInfo method2 = methodof(int.ToString(IFormatProvider));
Run Code Online (Sandbox Code Playgroud)

fieldof 可以编译为IL为:

ldtoken <field>
call FieldInfo.GetFieldFromHandle
Run Code Online (Sandbox Code Playgroud)

methodof 可以编译为IL为:

ldtoken <method>
call MethodBase.GetMethodFromHandle
Run Code Online (Sandbox Code Playgroud)

无论何时使用typeof运算符,您都可以获得完美的查找所有引用结果.不幸的是,一旦你去了田野或方法,你最终会遇到令人讨厌的黑客攻击.我想你可以做以下事情......或者你可以回去按名字命名.

public static FieldInfo fieldof<T>(Expression<Func<T>> expression)
{
    MemberExpression body = (MemberExpression)expression.Body;
    return (FieldInfo)body.Member;
}

public static MethodInfo methodof<T>(Expression<Func<T>> expression)
{
    MethodCallExpression body = (MethodCallExpression)expression.Body;
    return body.Method;
}

public static MethodInfo methodof(Expression<Action> expression)
{
    MethodCallExpression body = (MethodCallExpression)expression.Body;
    return body.Method;
}

public static void Test()
{
    FieldInfo field = fieldof(() => string.Empty);
    MethodInfo method1 …
Run Code Online (Sandbox Code Playgroud)

c# reflection

43
推荐指数
3
解决办法
6629
查看次数

.Net与Java Jobs

当我找工作搜索.Net开发人员时,它们大部分都是相同的东西.Net,ASP,SQL Server,CSS,Javascript,AJAX,也许还有C#.而使用Java,您可能必须拥有Java,Sturts,Spring,JSF,EJB,RDMB,Eclipse RCP,CSS,Javascript,AJAX,Rest,以及任意数量的特定Java API.是否更容易成为.Net开发人员,因为技术如此专注?或者只是这样?

.net java jobs

36
推荐指数
9
解决办法
9万
查看次数

SecurityException:必须将ECall方法打包到系统模块中

我有一个(C#)函数类似于以下.

private static bool SpecialCase = false;

public void Foo()
{
    if (SpecialCase)
    {
        InternalMethod();
        return;
    }

    Console.WriteLine();
}

[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void InternalMethod();
Run Code Online (Sandbox Code Playgroud)

当我在调试器内部使用.NET Framework 4执行此操作时,该方法成功地将空白行打印到控制台并返回.当我在调试器外部执行它时,它会抛出一个带有以下消息的异常:

System.Security.SecurityException: ECall methods must be packaged into a system module.
Run Code Online (Sandbox Code Playgroud)

当JIT编译器编译方法而不是InternalMethod调用when(if)时,似乎抛出了异常.有什么我可以做的(例如属性)告诉CLI要么不抛出SecurityException,要么延迟异常直到实际调用该方法?

关于用例的附注:SpecialCase使用Microsoft .NET Framework运行时,该字段实际上是错误的,而在CLI的不同(特定)实现下运行时,该字段为true.在Microsoft .NET Framework下运行时,调用InternalMethod实际上无法访问.

c# clr securityexception

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

为什么ICollection <T>没有实现ICollection?

IEnumerable<T>实施IEnumerable.
但是ICollection<T>没有实施ICollection.

这个理由是什么和/或只是一个疏忽?

.net generics

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

正则表达式VS包含.最棒的表演?

我想在java中比较不同模式的URI字符串,我想要尽可能快的代码.

我应该使用:

if(uri.contains("/br/fab") || uri.contains("/br/err") || uri.contains("/br/sts")
Run Code Online (Sandbox Code Playgroud)

或类似的东西:

if(uri.matches(".*/br/(fab|err|sts).*"))
Run Code Online (Sandbox Code Playgroud)

请注意,我可以使用更多uri,并且经常调用此方法.

我的选择之间最好的答案是什么?

java regex

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

Visual Studio解决方案不可用(重新加载不起作用)

我正在下载我正在使用的条形码阅读器的示例程序.每次我下载程序并运行它时,我的解决方案资源管理器中都会出现错误提示(见下图).

有什么建议?每当我右键单击并重新加载项目时,它会快速重新加载,然后恢复为不可用.

建议?

编辑:这是项目的链接(滚动到底部,PC示例程序)

http://www.barcodereader.com/download/connections.php

CS项目文件示例

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SrEthernetSample",     
"SrEthernetSample\SrEthernetSample.csproj", "{7A2F3660-184B-4553-ADEF-3071D718A501}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
    Debug|Any CPU = Debug|Any CPU
    Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
    {7A2F3660-184B-4553-ADEF-3071D718A501}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {7A2F3660-184B-4553-ADEF-3071D718A501}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {7A2F3660-184B-4553-ADEF-3071D718A501}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {7A2F3660-184B-4553-ADEF-3071D718A501}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
    HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Run Code Online (Sandbox Code Playgroud)

解决方案资源管理器错

输出,输出面板下拉列表为空

c# project visual-studio-2013

23
推荐指数
5
解决办法
7万
查看次数

如何在C#中存储函数指针

假设我想在a中存储一组函数指针List<(*func)>,然后稍后调用它们,甚至可能使用参数...就像我存储在a中一样,我Dict<(*func), object[] params>可以用参数调用func吗?我该怎么做?

.net c# pointers function

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