小编Jar*_*Par的帖子

变量占用某个值时的断点

我有类似于以下代码的东西......

void function(int x)
{
    // complicated operation on x
    blah 
    blah
}
Run Code Online (Sandbox Code Playgroud)

这一切看起来都很好,除非x恰好是一个特定的值,比如"273".但x为273是一种罕见的事件,99.999%的时间是其他值.现在我希望观察使用x = 273调用此函数时的事件,所以我想插入一个仅受x命中的断点就是该值.也许我可以这样做:

void function(int x)
{
    if (x == 273)
    {
        // put breakpoint on this line.
    }
    // complicated operation on x
    blah 
    blah
}
Run Code Online (Sandbox Code Playgroud)

问题是,编译器可能会优化掉这个"if"语句,因为它没有做任何事情.所以我的问题是我应该在"if"语句中放置什么以确保它被编译成某种东西......或者我应该以某种完全不同的方式跟踪x == 273的情况.

c debugging visual-studio-2008 visual-studio

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

为什么这个锁定语句不起作用?

为什么这个锁定测试不起作用?它正在抛出一个异常的控制台.Write该集合被修改了....

    static List<string> staticVar = new List<string>();

    static void Main(string[] args)
    {
        Action<IEnumerable<int>> assyncMethod = enumerator =>
                {
                    lock (staticVar)
                        foreach (int item in enumerator)
                            staticVar.Add(item.ToString());


                };

        assyncMethod.BeginInvoke(Enumerable.Range(0, 500000), null, null);
        Thread.Sleep(100);

        Console.Write(staticVar.Count());
        foreach (string item in staticVar)
        {

        }
    }
Run Code Online (Sandbox Code Playgroud)

c# multithreading locking

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

linq group by with count

我试图在linq中编写查询

Select UserId, UserNumber 
FROM User
where UserNumber in
(Select UserNumber
        FROM User
        group by UserNumber
        having Count(UserId) = 1)
Run Code Online (Sandbox Code Playgroud)

阿比提示?

linq

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

Visual Studio 2010中的多显示器支持

我听说Visual Studio 2010具有"多显示器支持".但是现在我正在使用它,我认为VS2008没有任何区别.

从一台显示器切换到两台显示器时,我仍需要调整所有窗口的大小.

是否有某些个人资料或设置我缺少?例如,Delphi允许您保存记录特定窗口所在位置的桌面配置文件.从单显示器切换到双显示器就像选择不同的桌面配置文件一样简单.

在VS2010中有类似的东西我错过了吗?

multiple-monitors visual-studio-2010 visual-studio

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

突出显示输出窗口中的消息

我最近看到了一个截屏视频,真正让我感兴趣的是调试器输出窗口中的消息以不同的颜色显示(警告,异常等的颜色不同).幸运的是我再也找不到这个截屏视频了.

有谁知道这是VS2010的新功能还是2008年的一部分,只需要打开?

c# visual-studio-2010 visual-studio-2008 visual-studio

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

来自C#dll的扩展方法在VB.NET中不能作为扩展

实际上我不知道他们是否应该工作

我在C#中创建了一个库,人们告诉我,我的一种方法在VB.NET中不能作为扩展名 http://valueinjecter.codeplex.com/Thread/View.aspx?ThreadId=227498

这是方法:

public static PropertyDescriptorCollection GetProps(this object o)
{
   return GetProps(o.GetType());
}
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net extension-methods

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

我们在visual studio 2010 express中有Quick Watch吗?

我在visual studio 2010 express中找不到Quick Watch.我们是否只有手表选项,而不是快速版的快速观看?

debugging visual-studio-2010 express

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

MVC 2与VS 2010视图构建错误:功能'匿名类型'不能使用,因为它不是ISO-2 C#语言规范的一部分

我有一个共享项目,我存储了所有自定义的EditTemplates和DisplayTemplates.这是一个常规的C#类库项目,其视图都标记为嵌入式资源.该项目的目标框架是".Net Framework 4".

在/ Views /文件夹中我已经包含了这个web.config文件,因此在使用.aspx和.ascx文件时我获得了MVC 2 intellisense:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <httpHandlers>
      <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>
    <pages
        validateRequest="false"
        pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc,     Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0,     Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <controls>
        <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral,   PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
      </controls>
    </pages>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />  
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode"    type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

通常我对这个设置没有问题,但是一旦我在编译视图时遇到错误:

错误3无法使用功能"匿名类型",因为它不是ISO-2 C#语言规范的一部分

对于看起来像这样的模板:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%@ Import Namespace="System.Web.Mvc.Html" %>
<%
    string displayText …
Run Code Online (Sandbox Code Playgroud)

c# visual-studio-2010 visual-studio asp.net-mvc-2

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

通用扩展方法测试

我有一个非常简单的扩展方法,它与IComparable实例有关:

public static bool Between<T>(this T comparable, T min, T max) where T : IComparable<T>
{
    return comparable.CompareTo(min) >= 0 && comparable.CompareTo(max) <= 0;
}
Run Code Online (Sandbox Code Playgroud)

哪种方法可以测试这种方法?我试过模拟IComparable实例无济于事...我使用NUnit和Moq,但我真的是TDD中的菜鸟.

c# generics tdd extension-methods moq

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

调试从非托管C++调用的托管.NET代码

我已经阅读了SO上提供的解决方案,但到目前为止还没有解决我的问题.我的启动项目是一个非托管的C++项目(我们称之为TestWrapper).目标是让TestWrapper调用托管C++项目,然后调用我的C#项目.这工作正常,我没有运行它的问题.

但是,我的C#代码中出现了异常.由于某种原因,断点不会被击中,实际的调试中断发生在内部ntdll.dll.我试图右键单击C#项目并启用非托管调试,但这不能解决问题.如果有人能指出我的解决方案,我将非常感激.

我要继续并包括项目布局:

TestWrapper (unmanaged C++) -> ManagedWrapper (managed C++) -> MyCSharpProject (C#)
Run Code Online (Sandbox Code Playgroud)

我有一种感觉,它在于调试的配置,但我知道甚至不知道从哪里开始看.

c# c++ debugging visual-studio-2010 visual-studio

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