该类CultureInfo提供了两种创建方式:
MSDN文档确实略有不同,提到构造函数的一些"Windows文化".但这真的很重要吗?
我应该更喜欢两个中的一个吗?
注意:如果重要的话,我使用的是.NET 3.5版本,我想这样使用它:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
Run Code Online (Sandbox Code Playgroud)
我正在使用FluentNHibernate和NH 3.0,使用LINQ提供程序和新的QueryOver语法.
现在使用QueryOver我想得到一个项目(称为结果),其时间戳值尽可能接近给定值,但不是更大:
Result precedingOrMatchingResult = Session.QueryOver<Result>().
Where(r => r.TimeStamp < timeStamp).
OrderBy(r => r.TimeStamp).Desc.
FirstOrDefault(); //get the preceding or matching result, if there is any
Run Code Online (Sandbox Code Playgroud)
现在,Intellisense告诉我,没有一种FirstOrDefault()方法.当然,我可以枚举我的有序查询,然后使用LINQ获取我的项目.但这会首先将所有项目加载到内存中.
有没有替代FirstOrDefault(),或者我理解完全错误的东西?
我在C#中看到这两个类:XmlTextWriter和XmlWriter.任何人都可以解释差异并告诉我在哪里使用哪个?
对于我自己实现的Equals()方法,我想检查一堆内部字段.我是这样做的:
...
_myNullableInt == obj._myNullableInt &&
_myString == obj._myString &&
...
Run Code Online (Sandbox Code Playgroud)
我假设,这比较值,包括null,对于相等而不是对象地址(作为参考euqality比较操作),因为:
对于此MSDN文档中的 "预定义值类型" ,可以这样说.我假设Nullable<int>是这样一个"预定义的值类型",因为System根据这个MSDN文档,它在命名空间中.
我是否正确地假设VALUES在这里进行比较?
注意:单元测试显示"是",但我希望其他人对这个问题感到放心,以防我错过了什么.
我想声明一个存储IEnumerable特定类型的类型的字典,并将其确切类型作为键,如下所示:(编辑后跟随johny g的评论)
private IDictionary<Type, IEnumerable<T>> _dataOfType where T: BaseClass; //does not compile!
Run Code Online (Sandbox Code Playgroud)
我想要存储的具体类都是从BaseClass派生的,因此想把它当作约束.编译器抱怨它希望在成员名称后面加一个分号.
如果它可以工作,我希望这将使后来从字典中检索简单如下:
IEnumerable<ConcreteData> concreteData;
_sitesOfType.TryGetValue(typeof(ConcreteType), out concreteData);
Run Code Online (Sandbox Code Playgroud)
如何定义这样的字典?
我想知道asp:DropDownList的客户端事件(比如onChange).
我想对使用自签名证书的安全服务器进行AJAX调用.在我的应用程序使用的环境中,这很好 - 我可以向用户提供CA证书,并让他们在使用应用程序之前安装它.但是,有时,用户会在安装证书之前尝试访问该应用程序.在这些情况下,应用程序默默地失败 - 至少在Firefox(问题的最常见情况)中,看起来调用无声地死亡,甚至没有触发错误处理程序.FWIW,如果用户访问服务器上的实际页面,则会收到证书警告.
我可以破解一个解决方法 - 例如,发出一个心跳/ ping请求并设置一个看门狗定时器来查看服务器是否及时响应 - 但这看起来好吧,哈希.我希望能够提前测试连接.确保要与之交谈的服务器具有来自Javascript的可信证书的"正确"方法是什么?如果它有任何区别,我正在通过JQuery做我的AJAX请求.
更新:这里有一个很棒的妙语.事实证明,AJAX根本不是问题.我确信它基于与自签名证书相关的症状,但缺乏AJAX错误令人不安,尤其是.鉴于以下答案中链接的规范.另一个团队成员钉了它:AJAX错误处理程序没有启动,因为JQuery从未加载过!我们在我们网站的另一个子域中包含了JQuery,也是在HTTPS上托管的 - 用户为ourService.example.com添加了例外,但没有为js.example.com添加例外.显然,如果您将<script>标记指向不受信任的安全连接,那么它也会无声地失败.
{/ headdesk}
查看Convert.ToInt32()它的msdn文档说明:
如果值在两个整数之间,则返回偶数; 也就是说,4.5转换为4,5.5转换为6.
http://msdn.microsoft.com/en-us/library/ffdk7eyz.aspx
为什么是这样?
当然,舍入到最接近的整数更合乎逻辑,不是吗?如果是这样,4.5将变为5,而5.5将变为6,这似乎更直观.
我有一个项目列表和LINQ查询.现在,使用LINQ的延迟执行,后续的foreach循环是否只执行一次查询或循环中的每次转弯?
给出这个例子(取自LINQ查询简介(C#),在MSDN上)
// The Three Parts of a LINQ Query:
// 1. Data source.
int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
// 2. Query creation.
// numQuery is an IEnumerable<int>
var numQuery =
from num in numbers
where (num % 2) == 0
select num;
// 3. Query execution.
foreach (int num in numQuery)
{
Console.Write("{0,1} ", num);
}
Run Code Online (Sandbox Code Playgroud)
或者,换句话说,如果我有以下情况会有什么不同:
foreach (int num in numQuery.ToList())
Run Code Online (Sandbox Code Playgroud)
而且,如果底层数据不在数组中,而是在数据库中,这是否重要?
我正在使用.NET Framework版本4.5.1的WebForms的新模型绑定功能.我希望实现的是,根据一些条件排除一些双向绑定.
我非常喜欢Scott Guthrie撰写的(希望现在很有名)博客文章系列.我使用Web Forms Model Binding Part 3:更新和验证(ASP.NET 4.5系列)中的第二种方法实现编辑页面
这就是我所拥有的:(简化,在ElementEdit.aspx中):
<asp:FormView runat="server" ID="FormViewElement" RenderOuterTable="false" DefaultMode="Edit" DataKeyNames="ElementId"
ItemType="Business.Entities.Element"
SelectMethod="GetElement"
UpdateMethod="UpdateElement">
<EditItemTemplate>
<asp:Panel runat="server" DefaultButton="ButtonSpeichern">
<fieldset>
/*some databound controls*/
<asp:Panel runat="server" Visible="<%# !Item.CurrentElementData.SomeCondition() %>">
/*more databound controls*/
</asp:Panel>
/*the submit button ("ButtonSpeichern")*/
</fieldset>
</asp:Panel>
</EditItemTemplate>
</asp:FormView>
Run Code Online (Sandbox Code Playgroud)
如您所见,包裹的内部面板上的可见性存在"更多数据绑定控制"的条件.当条件为真时,这些应该仅绑定,并且它们是可见的.否则它们不应该绑定而不能更改值.
更新的工作方式类似于Scott的帖子(简化,在xxPage.cs中),它是Type Element的通用基类:
protected virtual bool UpdateEntity(int id) {
T existing = UseCase.GetItem(id); //gets the original element
TryUpdateModel(existing); //SHOULD NOT update the invisible databound controls, but …Run Code Online (Sandbox Code Playgroud)