小编Ars*_*nko的帖子

创建自定义邮件标头字段

我正在制作一个程序,将发票作为 PDF 附件发送给注册用户。每张发票均由 GUID 标识。在某些情况下,我希望能够以编程方式从邮件中查找 GUID,而无需阅读 PDF 文件。

我可以使用邮件标头字段来包含发票 GUID,还是这是一种不好的做法,并且邮件标头字段不适用于此目的?

email-headers

2
推荐指数
1
解决办法
1259
查看次数

在Linq中,如何在不使用Count(谓词)的情况下查找集合是否包含元素?

由于IEnumerable.Contains()方法不接受谓词作为参数,大多数人使用以下代码来检查是否存在与条件匹配的东西:

// ProductId is unique.
if (Products.Count(c => c.ProductId = 1234) == 1)
{
    // Products list contains product 1234.
}
Run Code Online (Sandbox Code Playgroud)

此代码强制遍历每个产品并检查它是否匹配.实际上没有必要这样做.

在查看Linq-to-SQL生成的SQL代码时,存在同样的问题.select count(*) ... where ProductId = @p0发送一个语句,而不是if exists.

如何通过Linq查找集合是否包含与条件匹配的项目,而不必遍历集合中的每个元素并计算匹配数量?

c# linq optimization exists linq-to-sql

2
推荐指数
1
解决办法
1329
查看次数

为什么使用SomethingCollection而不是Collection <Something>?

在.NET Framework中,有一些类使用SomethingCollection语法.

例如,在处理时SqlCommand,它有一个Parameters类型的参数SqlParameterCollection.由于它没有IEnumerable<SqlParameter>(或IList<SqlParameter>类似的)形式,所以不可能写:

foreach (var c in sqlCommand.Parameters)
{
    Debug.WriteLine(string.Concat(c.ParameterName, ": ", c.Value));
}
Run Code Online (Sandbox Code Playgroud)

相反,var必须用显式替换SqlParameter.

处理Windows窗体控件(列表视图项的集合等)时,事情非常相似,并且存在于其他类中.

这是什么?为什么存在这样的类而不是通用的IEnumerables/ILists?

.net c# ienumerable winforms

2
推荐指数
1
解决办法
90
查看次数

PHP如何从一行中按名称获取列值?

我有点卡在这个上面.在我的PHP代码中,我查询了一些返回的记录.我循环遍历行,但是对于每一行,我想使用其名称作为索引来检索列值.

while ($row=mysql_fetch_row($result))
{
    echo $row[7];
}
Run Code Online (Sandbox Code Playgroud)

这打印出我想要的东西,但我想做的事情如下:

echo $row["description"];
Run Code Online (Sandbox Code Playgroud)

哪里描述是我要打印其值的列的名称?可以这样做吗?

非常感谢你.

php mysql

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

如何在"分组依据"查询中仅为每个组选择一个完整行?

我有一个(似乎是)非常简单的问题,但在搜索了几个小时之后,我找不到任何有用的东西.

这是问题所在:

在Microsoft SQL中,我有一个表,其中列A存储一些数据.该数据可以包含重复项(即,两列或更多行对于列A具有相同的值).

我可以很容易地找到重复:

select A, count(A) as CountDuplicates
from TableName
group by A having (count(A) > 1)
Run Code Online (Sandbox Code Playgroud)

现在,我想要检索其他列的值,假设Ç.当然,即使对于共享相同A值的行,这些BC值也可能不同,但对我来说无关紧要.我只想要任何B值和任何C值,第一个,最后一个或随机的一个.

如果我有一个小桌子和一两列要检索,我会做类似的事情:

select A, count(A) as CountDuplicates, (
    select top 1 child.B from TableName as child where child.A = base.A) as B
)
from TableName as base group by A having (count(A) > 1)
Run Code Online (Sandbox Code Playgroud)

问题是我有更多的行可以获得,并且表格非常大,因此选择几个孩子会有很高的性能成本.

那么,是否有一个不那么难看的纯SQL解决方案呢?


不确定我的问题是否足够清楚,所以我举一个基于AdventureWorks数据库的例子.假设我想列出可用的州,并为每个州提供其代码,城市(任何城市)和地址(任何地址).最简单,最低效的方法是:

var q …
Run Code Online (Sandbox Code Playgroud)

sql t-sql group-by

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

我应该默认使用`this`吗?

我们都知道这this是指一个类的实际实例......但在我看来,大多数人并没有使用它.那么,我应该使用它吗?

我对它的看法如下:由于this引用了类的实际实例,它应该用于访问该类的任何成员.

  public void(String newValue) {
        this.privateVariable = newValue;
  }
Run Code Online (Sandbox Code Playgroud)

这应该保证该值不会分配给范围内具有相同名称的对象(无论如何,这也可能最终成为未定义的行为).但是,如果使用下划线将私有字段与非私有字段分开,该怎么办:

  public voud(String newValue) {
        _privateVariable = newValue;
  }
Run Code Online (Sandbox Code Playgroud)

this 在这种情况下似乎有点多余和不必要.

那么,是否有充分的理由使用或不使用this?或者我只是绞尽脑汁想要什么?

c# coding-style

1
推荐指数
2
解决办法
614
查看次数

如何在没有多重继承/代码重复的情况下在Pages和Masterpages之间共享代码?

我已经阅读了解释C#中没有多重继承问题/答案,我们甚至不需要它,并且它会导致太多问题.

现在,我正在开发一个项目,我不知道如何在没有多重继承的情况下执行操作,而无需重复代码.

这是情况.有一个主页和其他页面继承自主页(主页不继承)的网站.页面和母版页都在执行一些操作:自定义登录,统计,加载用户自定义设置等.目前,解决方案很糟糕,因为这些任务的源代码只是被复制了两次.

主页类继承自Page.另一方面,母版页继承自Masterpage.从逻辑上讲,从公共类继承也很棒,但它是多重继承,所以这是不可能的.

那又怎么办呢?

我想过几种方法,但不喜欢它们:

  • 创建一个独立的类,它将从page/masterpage类中调用.所以,例如,而不是写作bool isDisplayingTips = this.CurrentUser.IsDisplayingTips,我会写bool isDisplayingTips = this.SharedObjects.CurrentUser.IsDisplayingTips.我不喜欢它,因为它写的时间更长.

  • 创建一个"真实的"空的公共母版页,并从中继承主页和母版页.它不仅需要编写更多代码来访问母版页参数,而且还会减慢速度,每次请求都需要额外的母版页.

任何的想法?

c# asp.net master-pages code-duplication multiple-inheritance

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

在C#3.5中发送电子邮件失败

发送电子邮件时,我收到以下错误:

System.Net.Mail.SmtpClient.Send(MailMessage消息)中的设备尚未就绪.

代码是:

MailMessage mailMessage = new MailMessage(senderEmail, cleanRecipients)
{
    Subject = string.empty,
    Body = string.empty,
    IsBodyHtml = false
};
SmtpClient smtpClient = new SmtpClient();
smtpClient.Send(mailMessage);
Run Code Online (Sandbox Code Playgroud)

.net c#

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

Visual Studio的代码中的小烦恼更漂亮

Visual Studio有很多很棒的功能,其中一个功能使您的代码非常适合您.我喜欢它,除了一个小细节之外没有任何问题.

来自Java和PHP的Netbeans和Eclipse都没有这样做,并允许我开发自己的风格.(虽然肯定不是唯一的)

这就是我编写方法的方法:

void myMethod () {
}
Run Code Online (Sandbox Code Playgroud)

哪个更改为:

void myMethod() 
{
}
Run Code Online (Sandbox Code Playgroud)

我对花括号的下一行完全没问题.

但是我真的不喜欢Visual Studio删除方法名称和括号之间的小空格.

有谁知道如何专门关闭它?

coding-style visual-studio

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

当 Chrome 运行 AngularJS 应用程序时,如何找到它冻结的内容?

我正在检查 AngularJS 应用程序的性能问题。

执行特定操作时,CPU 使用率达到 100%,Chrome 窗口冻结,我必须使用 Chrome 的任务管理器手动终止进程。

我尝试调试该应用程序(DevTools 的Sources选项卡),但该应用程序非常大且代码被缩小,这意味着要找到问题并不容易:我看到许多由摘要循环触发的代码,并且无法弄清楚哪个代码是真正的罪魁祸首。

能够在应用程序冻结后对其进行分析可能会有帮助;我很确定分析器会立即显示实际的瓶颈。我可以在冻结发生之前成功启动分析器(性能选项卡),但是一旦应用程序冻结,当我单击停止按钮时,加载配置文件窗口就停留在 0%(我等了 15 分钟只是为了确定,它仍然在零),所以我想它也被冻结了。

因此我的问题是:

当我无法通过简单的调试应用程序找出问题时,如何找到导致应用程序冻结的原因?

debugging performance profiling google-chrome angularjs

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