将秒转换为(小时:分钟:秒:毫秒)时间的最佳方法是什么?
假设我有80秒,.NET中是否有任何专门的类/技术允许我将这些80秒转换为(00h:00m:00s:00ms)格式,比如DateTime或其他东西?
我想弄清楚何时以及为什么要使用Dictionary或HashTable.我在这里做了一些搜索,发现有人在谈论字典的一般优点,我完全赞同,这导致拳击和拆箱优势,以获得轻微的性能提升.
但是我也读过字典并不总是按照它们插入的顺序返回对象,它被排序的东西.作为HashTable的地方.据我了解,这导致HashTable在某些情况下更快.
我的问题是,这些情况可能是什么?我上面的假设我错了吗?你可以用什么情况来选择一个在另一个之上,(是的,最后一个有点含糊不清).
我在另一个问题中看到了这个提示,并想知道是否有人可以向我解释这是如何工作的?
try { return x; } finally { x = null; }
Run Code Online (Sandbox Code Playgroud)
我的意思是,该finally条款真正执行后的return声明?这段代码的线程不安全吗?你能想到这个try-finally黑客可以做的任何额外的hackery 吗?
我试图从WCF服务返回一些JSON.此服务只是从我的数据库返回一些内容.我可以得到数据.但是,我担心我的JSON格式.目前,返回的JSON格式如下:
{"d":"[{\"Age\":35,\"FirstName\":\"Peyton\",\"LastName\":\"Manning\"},{\"Age\":31,\"FirstName\":\"Drew\",\"LastName\":\"Brees\"},{\"Age\":29,\"FirstName\":\"Tony\",\"LastName\":\"Romo\"}]"}
Run Code Online (Sandbox Code Playgroud)
实际上,我希望我的JSON格式尽可能干净.我相信(我可能不正确),以干净的JSON表示的相同结果集合应该如下所示:
[{"Age":35,"FirstName":"Peyton","LastName":"Manning"},{"Age":31,"FirstName":"Drew","LastName":"Brees"},{"Age":29,"FirstName":"Tony","LastName":"Romo"}]
Run Code Online (Sandbox Code Playgroud)
我不知道"d"来自哪里.我也不知道为什么要插入转义字符.我的实体如下所示:
[DataContract]
public class Person
{
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
[DataMember]
public int Age { get; set; }
public Person(string firstName, string lastName, int age)
{
this.FirstName = firstName;
this.LastName = lastName;
this.Age = age;
}
}
Run Code Online (Sandbox Code Playgroud)
负责返回内容的服务定义为:
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class TestService
{
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public string GetResults()
{
List<Person> results = new List<Person>();
results.Add(new Person("Peyton", "Manning", …Run Code Online (Sandbox Code Playgroud) 我有一个表单,除了ASP.NET中的文件上传.我需要将最大上传大小增加到4 MB以上.
我在某些地方发现在msdn上引用下面的代码.
[ConfigurationPropertyAttribute("maxRequestLength", DefaultValue = )]
Run Code Online (Sandbox Code Playgroud)
没有一个参考文献真正描述了如何使用它,我尝试了几件事但没有成功.我只想为要求文件上传的某些页面修改此属性.
这是正确的路线吗?我该如何使用它?
我正在基于空格分割字符串,如下所示:
string myStr = "The quick brown fox jumps over the lazy dog";
char[] whitespace = new char[] { ' ', '\t' };
string[] ssizes = myStr.Split(whitespace);
Run Code Online (Sandbox Code Playgroud)
在我想要执行此操作的代码中定义char []数组是很麻烦的.是否有更有效的方法,不需要创建字符数组(如果在不同的地方复制,容易出错)?
只是想知道是否有人尝试嵌入并实际将任何js引擎集成到.net环境中.我可以找到并实际使用(经过很多痛苦和努力,因为它已经过时而且还没完成)spidermonkey-dotnet项目.有这方面经验的人吗?发动机如SquirrelFish,V8 ..
并不是说我对Mozilla的Spidermonkey不满意(将它用于核心ASP.NET应用程序中的自定义组件的Rails式miniframework),但我仍然喜欢进一步探索这些选项.命令行解决方案不是我需要的,我不能依赖CLR以外的任何东西,我需要从/到JavaScript/C#对象调用方法.
// c# class
public class A
{
public string Hello(string msg)
{
return msg + " whatewer";
}
}
// js snippet
var a = new A();
console.log(a.Hello('Call me')); // i have a console.log implemented, don't worry, it's not a client-side code :)
Run Code Online (Sandbox Code Playgroud)
只是为了澄清 - 我不是试图在服务器端javascript中实际编写应用程序本身.它仅用于编写自定义用户子应用程序(可以看作是某种DSL).允许普通人在js中编程比C#更容易(也更安全).
我知道这应该是一个非常简单的问题,但我一直在努力解决这个概念.我的问题是,你如何在c#中链接构造函数?我是第一个OOP课程,所以我只是在学习.我不明白构造函数链如何工作或如何实现它,甚至为什么它不仅仅是没有链接的构造函数.
我会很感激一些解释的例子.
那么如何将它们联系起来呢?我知道有两个:
public SomeClass this: {0}
public SomeClass
{
someVariable = 0
}
Run Code Online (Sandbox Code Playgroud)
但你如何用三,四等做到这一点?
再一次,我知道这是一个初学者的问题,但我很难理解这一点,我不知道为什么.
我试图将.NET TimeSpan对象序列化为XML,但它无法正常工作.一个快速谷歌建议,虽然TimeSpan是可序列化的,但XmlCustomFormatter它不提供将TimeSpan对象转换为XML或从XML 转换对象的方法.
一种建议的方法是忽略TimeSpan序列化,而是序列化结果TimeSpan.Ticks(并new TimeSpan(ticks)用于反序列化).一个例子如下:
[Serializable]
public class MyClass
{
// Local Variable
private TimeSpan m_TimeSinceLastEvent;
// Public Property - XmlIgnore as it doesn't serialize anyway
[XmlIgnore]
public TimeSpan TimeSinceLastEvent
{
get { return m_TimeSinceLastEvent; }
set { m_TimeSinceLastEvent = value; }
}
// Pretend property for serialization
[XmlElement("TimeSinceLastEvent")]
public long TimeSinceLastEventTicks
{
get { return m_TimeSinceLastEvent.Ticks; }
set { m_TimeSinceLastEvent = new TimeSpan(value); }
}
} …Run Code Online (Sandbox Code Playgroud) 我有一个页面:
<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>
Run Code Online (Sandbox Code Playgroud)
在其上,以下内容:
<% Html.RenderPartial("TaskList", Model.Tasks); %>
Run Code Online (Sandbox Code Playgroud)
这是DTO对象:
public class DTOSearchResults
{
public string SearchTerm { get; set; }
public IEnumerable<Task> Tasks { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是部分:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %>
Run Code Online (Sandbox Code Playgroud)
当Model.Tasks不为null时,一切正常.但是当它为null时,我得到:
传递到字典中的模型项的类型为'DTOSearchResults',但此字典需要类型为'System.Collections.Generic.IEnumerable`1 [Task]'的模型项.
我认为它一定不知道使用哪个重载,所以我这样做(见下文)是明确的,但我仍然得到同样的问题!
<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过检查null,或者甚至不传递null来解决这个问题,但这不是重点.为什么会这样?
c# ×8
.net ×3
asp.net ×1
asp.net-mvc ×1
collections ×1
constructor ×1
datetime ×1
dictionary ×1
file-upload ×1
hashtable ×1
javascript ×1
json ×1
spidermonkey ×1
string ×1
timespan ×1
wcf ×1