小编Pau*_*art的帖子

如何从List <T>中获取每个第n项?

我正在使用.NET 3.5,并希望能够n从列表中获取每个**项.我对使用lambda表达式还是LINQ实现它并不感到困扰.

编辑

看起来这个问题激起了很多争论(这是一件好事,对吧?).我学到的主要是,当你认为你知道每一种做某事的方式时(尽管这很简单),再想一想!

c# linq lambda list

108
推荐指数
6
解决办法
7万
查看次数

什么是SQL Server的日期,时间和日期时间偏移的等效C#数据类型?

SQL Server中date数据类型最适合的等效C#数据类型是什么?我特意找

  • date
  • time
  • datetimeoffset

c# types sql-server-2008

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

如何将多个命名空间声明添加到XDocument?

我正在使用XDocument在已知结构中构建Xml文档.我想要构建的结构如下:

<request xmlns:ns4="http://www.example.com/a" xmlns:ns3="http://www.example.com/b" xmlns:ns2="http://www.example.com/c" >
    <requestId>d78d4056-a831-4c7d-a357-d14402f623fc</requestId>
    ....
</request>
Run Code Online (Sandbox Code Playgroud)

请注意"xmlns:nsX"属性.

我正在尝试将这些属性添加到我的"request"元素中,但没有成功.

XNamespace ns4 = XNamespace.Get("http://www.example.com/a");
XNamespace ns3 = XNamespace.Get("http://www.example.com/b");
XNamespace ns2 = XNamespace.Get("http://www.example.com/c");

XDocument doc = new XDocument(
    new XDeclaration("1.0", "utf-8", "no"),
    new XElement("request",
        new XAttribute("ns4", ns4),
        new XAttribute("ns3", ns3),
        new XAttribute("ns2", ns2),
        new XElement("requestId", Guid.NewGuid())
     )
);
Run Code Online (Sandbox Code Playgroud)

但是,这会产生以下结果:

<request ns4="http://www.example.com/a" ns3="http://www.example.com/b" ns2="http://www.example.com/c">
  <requestId>38b07cfb-5e41-4d9a-97c8-4740c0432f11</requestId>
</request>
Run Code Online (Sandbox Code Playgroud)

如何正确添加命名空间声明?

c# xml linq-to-xml

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

如何选择最合适的异常类型?

关于异常的问题已有很多问题,但我找不到能回答我问题的问题.如果我错过了,请随意指出另一个问题的方向.

我的问题很简单:其他(C#)开发人员如何选择最合适的异常类型?之前我写过以下代码:

    if (Enum.IsDefined(enumType, value))
    {
        return (T)Enum.Parse(enumType, value);
    }
    else
    {
        throw new ArgumentException(string.Format("Parameter for value \"{0}\" is not defined in {1}", value, enumType));
    }
Run Code Online (Sandbox Code Playgroud)

我已经意识到,InvalidEnumArgumentException如果我当时知道它的存在,抛出一个可能会更合适.

是否有可用的权威资源帮助开发人员选择异常类型,还是仅仅是经验问题?

编辑

我已经向Noldorin提出了一些观点,他们在一个经过深思熟虑的答案中提供了一系列的想法.这些要点可能真的让你们中的任何一个 - 感谢所有的建议.

c# exception

21
推荐指数
2
解决办法
4448
查看次数

C#使用ICC配置文件将RGB值转换为CMYK?

这个问题似乎发布在很多地方的互联网和SO,但我找不到一个满意的答案:(

如何使用ICC配置文件将RGB值转换为CMYK值?

我有最接近的答案,它解释了如何从CMYK转换为RGB而不是相反,这是我需要的.(http://stackoverflow.com/questions/4920482/cmyk-to-rgb-formula-of-photoshop/5076731#5076731)

float[] colorValues = new float[4];
colorValues[0] = c / 255f;
colorValues[1] = m / 255f;
colorValues[2] = y / 255f;
colorValues[3] = k / 255f;

System.Windows.Media.Color color = Color.FromValues(colorValues,
new Uri(@"C:\Users\me\Documents\ISOcoated_v2_300_eci.icc"));
System.Drawing.Color rgbColor = System.Drawing.Color.FromArgb(color.R, color.G, color.B);
Run Code Online (Sandbox Code Playgroud)

我想我应该使用System.Windows.Media命名空间中的一些类/结构/方法.

System.Windows.Media.Color结构包含一个方法FromRgb,但是我无法在System.Windows.Media.Color中获取CMYK值!

非常感谢

c# printing rgb colors cmyk

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

CheckedListBox项目的工具提示?

当用户的鼠标放在CheckedListBox中的项目上时,是否有一种直接的方法来设置其他文本出现在工具提示中?

希望能够在代码中做到的是:

uiChkLstTables.DisplayOnHoverMember = "DisplayOnHoverProperty"; //Property contains extended details
Run Code Online (Sandbox Code Playgroud)

任何人都能指出我正确的方向吗?我已经找到了一些文章,涉及检测鼠标当前所在的项目并创建一个新的工具提示实例,但这听起来有点过于设计,不是最好的方法.

提前致谢.

c# user-interface tooltip checkedlistbox winforms

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

如何确定Enum值是否具有与之比较的一个或多个值?

我有一个标有[Flags]属性的Enum,如下所示:

[Flags]
public enum Tag : int
{
    None = 0,
    PrimaryNav = 1,
    HideChildPages = 2,
    HomePage = 4,
    FooterLink = 8
}
Run Code Online (Sandbox Code Playgroud)

在我的站点地图中的站点地图节点上,我将标签组合的int值存储为属性.

我需要做的是检查一个节点是否有一个或多个标签中的任何一个,例如Tag.PrimaryNav | Tag.HomePage.

我正在努力使用必要的布尔逻辑来确定Enum值是否具有与其进行比较的一个或多个值.

如果不清楚,请道歉.如有必要,我可以提供更多信息.

c# enums flags

13
推荐指数
2
解决办法
7629
查看次数

Func <T,TResult>和Converter <TInput,TOutput>之间有什么区别?

查看Func和Converter代理的签名,

public delegate TResult Func<T, TResult>(T arg);
public delegate TOutput Converter<TInput, TOutput>(TInput input);
Run Code Online (Sandbox Code Playgroud)

我很难看出两者之间的区别.当然,如果我们重命名泛型类型参数,它们基本上是相同的东西?

谁能解释为什么它们都存在呢?

c# delegates

10
推荐指数
3
解决办法
2331
查看次数

asp.net MVC - 复杂的例子?

我们正在评估asp.net MVC,并且正在寻找NerdDinner之外的一些更复杂的例子.

具体来说,在一个更复杂的网络应用程序中,我可能有一个导航栏(包括主导航,搜索框和登录状态显示),主要内容区域,子内容区域(包括相关内容)和页脚.在MVC中,控制器返回一个ViewModel(如果我认为我想从我的视图中取消我的Controller,则不是视图) - 我的ViewModel是否必须具有覆盖"页面"的每个方面的属性旨在呈现为输出?

如果不清楚,我可能会重新提出我的问题.

BTW - 我知道这个站点是使用MVC构建的.我是可下载的例子.

提前致谢.

asp.net-mvc views

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

是否有可能通过事务复制获得低于1秒的延迟?

我们的数据库体系结构由两个Sql Server 2005服务器组成,每个服务器都有一个相同数据库结构的实例:一个用于所有读取,一个用于所有写入.我们使用事务复制来使读取数据库保持最新.

这两台服务器确实非常高规格(写入服务器有32GB的RAM),并通过光纤网络连接.

在决定使用这种体系结构时,我们被认为将数据复制到读取服务器的延迟大约为几毫秒(显然取决于负载).在实践中,即使是最简单的情况,我们也会看到大约2-5秒的延迟,这是不能令人满意的.在最简单的情况下,我的意思是更新write db上的单个表中的单个行中的单个值,并查看在read数据库中观察新值所需的时间.

我们应该考虑哪些因素来实现低于1秒的延迟?这甚至可以实现吗?

或者,我们应该考虑不同的复制模式吗?数据和日志文件位置的最佳实践是什么?

编辑

感谢大家的建议和见解 - 我相信我们所经历的潜伏期正常的; 我们的数据库托管公司错误地指导了我们期望的延迟时间!

我们正在使用MSDN文章底部附近描述的技术(在"扩展数据库"标题下),我们未能正确处理此警告:

创建这样的专用数据库的结果是延迟:现在需要花时间将分发到读取器数据库.但是,如果你能够处理延迟,那么扩展潜力巨大.

我们现在正在考虑实现对我们的缓存机制的更改,当一个数据项被认为是"不稳定的"时,该机制会强制执行来自write数据库的读取.

architecture performance replication sql-server-2005

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