小编Kon*_*man的帖子

使用==时,为什么String的行为类似于值类型

想知道为什么String在使用==时表现得像值类型.

         String s1 = "Hello";
        String s2 = "Hello";
        Console.WriteLine(s1 == s2);// True(why? s1 and s2 are different)
        Console.WriteLine(s1.Equals(s2));//True
        StringBuilder a1 = new StringBuilder("Hi");
        StringBuilder a2 = new StringBuilder("Hi");
        Console.WriteLine(a1 == a2);//false
        Console.WriteLine(a1.Equals(a2));//true
Run Code Online (Sandbox Code Playgroud)

StringBuilder和String的行为与==运算符不同.谢谢.

.net c#

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

C#如何处理完全相同的多个异常?

在我的代码中,我有一个带有多个catch语句的方法,它们执行所有相同的语句.我不确定这是实现这个的正确方法.你会怎么做?

public void LoadControl(ControlDestination controlDestination, string filename, object parameter)
{
    try
    {
        // Get filename with extension
        string file = GetControlFileName(filename);

        // Check file exists
        if (!File.Exists(file))
            throw new FileNotFoundException();

        // Load control from file
        Control control = LoadControl(filename);

        // Check control extends BaseForm
        if (control is BaseForm)
        {
            // Set current application on user control
            ((BaseForm)control).CurrentApplication = this;
            ((BaseForm)control).Parameter = parameter;

            // Set web user control id
            control.ID = filename;

            Panel currentPanel = null;

            switch (controlDestination)
            {
                case ControlDestination.Base: …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net exception

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

睡眠反抗计时器,理想情况下是反应性的

在正常情况下,以下代码每两分钟很好地记录:

Observable.Interval(TimeSpan.FromSeconds(120)).Subscribe(
    l =>
        {                        
            var now = DateTime.Now;
            Console.WriteLine(
                "Tick at " + now.ToString("hh:mm:ss") + " Count " + l.ToString());        
        });
Run Code Online (Sandbox Code Playgroud)

设备休眠一段时间后然后恢复的行为

Tick at 11:30:00 Count 0
(11:31:55 put computer to sleep)
(no tick at 11:32:00 because PC is suspended, which is fine)
(no tick at 11:34:00 because PC is suspended)
(11:34:30 wake computer up)
(no tick as soon as possible to indicate that ticks were missed) 
Tick at 11:36:30 Count 1
Run Code Online (Sandbox Code Playgroud)

似乎Observable Interval定时器类重置自身并从设备恢复时起重新开始间隔.(我观察到与Observable Timer类似的行为)

睡眠感知计时器

我需要一个不会在恢复时重启间隔的计时器,但如果在睡眠期间错过了任何刻度,则需要一次计时器

  • 没有一次错过每个嘀嗒声,但是如果错过了任何数量的蜱,则总计一次
  • 这对于数小时或数天的TimeSpans特别相关,在某些情况下,如果笔记本电脑每天进入睡眠状态,计时器也不会再次打勾 …

.net c# timer suspend system.reactive

6
推荐指数
0
解决办法
179
查看次数

无法调试VSIX项目:"预计导出ITextEditorFactoryService但找到0"

我在几个VSIX项目中工作,突然,由于某种原因,我无法正确调试它们.当我运行项目时,实验VS实例打开没有问题,但是一旦我加载解决方案,问题就开始了.

首先,如果我正在加载的解决方案是在源代码管理下,我收到以下错误消息:

'GitCollaborationPackage'包未正确加载.问题可能是由配置更改或安装另一个扩展引起的.

还有一个指向日志文件的链接,它显示了一个显然不是很有用的错误消息:

程序包[LegitSitePackage]失败[GitCollaborationPackage]来源:""说明:灾难性故障(HRESULT异常:0x8000FFFF(E_UNEXPECTED))

之后解决方案加载,但是一旦我尝试打开文件,我就会收到此错误:

预计1个导出的合同名称为"Microsoft.VisualStudio.Text.Editor.ITextEditorFactoryService",但在应用适用的约束后找到0.

我没有对我的项目进行任何重大更改,但以防万一我创建了一个全新的VSIX项目并立即运行,结果相同.

正如MSDN中所建议的,我试图删除Visual Studio的组件缓存并重置Visual Studio的设置,但无济于事.

那么这里发生了什么?我该怎么做才能解决这个问题?

更新:一些新的发现:

  • 运行Visual Studio时devenv /safemode问题仍然存在.
  • 这是在VS专业版中发生的.我也安装了社区版,在那个版本中我可以毫无问题地进行调试.该死的,那个人也有点腐败了!:-(

更新2:修复Visual Studio没有帮助.

visual-studio vsix visual-studio-2017

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

Windows 7粘滞便笺

是否有关于Windows 7 Sticky Notes API的公开手册或文章?

api windows-7

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

ORA-01400无法插入空值...但我没有插入空值!

我试图通过使用来自C#应用程序的ODP.NET在Oracle表中插入数据,但是我得到一个ORA-01400不能为我没有插入空值的列插入空值错误.

这是我试图执行的参数化SQL命令的精简版本.它包含在一个OracleCommand并执行以下的调用ExecuteNonQuery:

declare c int; 
begin
   select count(*) into c from "Entradas" where "Id" = :Id and nvl("AppId", 0) = nvl(:AppId, 0);
   if c>0 then
       update "Entradas" set
         /*...a bunch of columns...*/,
         "VisitaLaboral" = :VisitaLaboral,
         /*...some more columns...*/
         where "Id" = :Id and nvl("AppId",0) = nvl(:AppId, 0); 
   else
       insert into "Entradas" (
         /*... a bunch of columns...*/,
         "VisitaLaboral",
         /*...some more columns...*/
         ) values (
         /*...a bunch of values...*/,
         :VisitaLaboral,
         /*...some …
Run Code Online (Sandbox Code Playgroud)

oracle odp.net oracle-xe ora-01400

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

asp.net gridview不显示数据

protected void Button1_Click1(object sender, EventArgs e)
{
    SqlConnectionStringBuilder connb = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["SCS"].ConnectionString);      
    using (SqlConnection conn = new SqlConnection(connb.ConnectionString))
    {
        SqlCommand cmd = new SqlCommand("Select * from dbo.Users;", conn);
        DataTable tb = new DataTable();

        SqlDataAdapter da = new SqlDataAdapter(cmd);

        da.Fill(tb);
        tb.AcceptChanges();
        GridView1.DataSource = tb;
        GridView1.DataBind();
     }
}
Run Code Online (Sandbox Code Playgroud)

这是我在 C# asp.net 应用程序中的代码。我想在gridview中显示SQL表。

<Columns>
  <asp:BoundField ItemStyle-Width="150px" DataField="name" HeaderText="name" />
  <asp:BoundField ItemStyle-Width="150px" DataField="lastname" HeaderText="lastname" />
  <asp:BoundField ItemStyle-Width="150px" DataField="ID" HeaderText="ID" />
</Columns>
Run Code Online (Sandbox Code Playgroud)

它显示空的网格视图(当我按下按钮1时)。它不显示任何错误消息。连接字符串有效,SQL 命令影响行,但它仍然没有在 gridview 上显示任何数据!

谁能帮我?

c# sql asp.net gridview

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

使用VaryByCustom使缓存无效

我想使用VaryByCustom属性使缓存无效.以下代码用于缓存设置.

public override string GetVaryByCustomString(HttpContext context, string arg)
{
    if (!string.IsNullOrWhiteSpace(arg))
    {
        if (context.User.Identity.Name != null)
        {
            return context.User.Identity.Name;
        }
    }
    return base.GetVaryByCustomString(context, arg);
}
Run Code Online (Sandbox Code Playgroud)

c# caching cache-invalidation asp.net-mvc-4

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

如何在NuSpec文件中创建占位符并通过TeamCity参数替换它们

我正在尝试在Nuspec中创建PlaceHolders并通过TeamCity参数替换它们,但teamcity无法识别它们.这是我的NuSpec文件元数据

<metadata>
    <id>Id.@environment@</id>
    <title>Title.@environment@</title>
    <version>1.0.0</version>
    <authors>Charles Taylor</authors>
    <owners>Charles Taylor</owners>
    <licenseUrl>http://www.ctcplc.com</licenseUrl>
    <projectUrl>http://www.ctcplc.com</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Currency Request</description>
    <releaseNotes></releaseNotes>
</metadata>
Run Code Online (Sandbox Code Playgroud)

我在TeamCity中有一个环境变量.Team City在构建期间崩溃,我无法识别这些值.

我试过将@改为$,但没有运气.

c# teamcity nuget-package

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

1712年2月30日在.NET的瑞典日历中?

这个关于现实生活中数据如何反映计算机数据类型的奇妙讨论中,Jon Skeet说,二月在瑞典有一个30天的日子,这是一个奇怪的尝试来管理闰年,同时适应格里高利历(维基百科更多内容) .出于纯粹的好奇心,我打开了LINQPad并写了以下内容:

var date=new DateTime(1712,2,29,CultureInfo.GetCultureInfo("sv-SE").Calendar);
date.AddDays(1).Dump();
Run Code Online (Sandbox Code Playgroud)

我期待在2月30日看到一个惊人的,但这只会产生一个无聊的3月1日.关于它的两次思考,.NET DateTime类可能不支持month = 2和day = 30的实例......但无论如何,我想知道:.NET的瑞典日历是不是实现了1712年2月30日日期?或者它实际上但我的测试不正确?

.net calendar date

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