在研究如何将NameValueCollection转换为查询字符串时,我遇到了不同的方法.如果较短的lambda语法尽可能高效,我很好奇.
如何使用迭代函数将NameValueCollection转换为(Query)String.
public static String ConstructQueryString(NameValueCollection parameters)
{
List<String> items = new List<String>();
foreach (String name in parameters)
items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(parameters[name])));
return String.Join("&", items.ToArray());
}
Run Code Online (Sandbox Code Playgroud)
将一个NameValueCollection加入到C#中的查询字符串中使用一个lambda表达式,看起来不错,但我不确定它是否是高效的代码.
private static string JoinNvcToQs(NameValueCollection qs)
{
return string.Join("&", Array.ConvertAll(qs.AllKeys, key => string.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(qs[key]))));
}
Run Code Online (Sandbox Code Playgroud) 我正在用C#编写一个小型数据结构库,我遇到了一个架构问题.基本上我有一个实现访问者模式的类,并且有许多可能的访问者实现:
public interface ITreeVisitor<T, U>
{
U Visit(Nil<T> s);
U Visit(Node<T> s);
}
public abstract class Tree<T> : IEnumerable<T>
{
public readonly static Tree<T> empty = new Nil<T>();
public abstract U Accept<U>(ITreeVisitor<T, U> visitor);
}
public sealed class Nil<T> : Tree<T>
{
public override U Accept<U>(ITreeVisitor<T, U> visitor) { return visitor.Visit(this); }
}
public sealed class Node<T> : Tree<T>
{
public Tree<T> Left { get; set; }
public T Value { get; set; }
public Tree<T> Right { get; set; …Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一个HTML模板解决方案,它可以在我的ASP.NET MVC应用程序(.NET 4,IIS 7.5)和浏览器中工作.原因是在服务器(性能,输出到移动设备等)或浏览器(通过AJAX刷新数据)上呈现HTML的相同代码.这不是一个新问题,但我想知道当前的技术趋势是否改变了答案.
我正在考虑的一些想法:
ASP.NET MVC视图引擎比较看起来相关,但没有提到胡子.
更新: 客户端模板抛出:来自LinkedIn工程的小胡子,把手,dust.js以及其中前四位的胡子,它是唯一一个具有原生.NET渲染的东西(需要服务器端JavaScript渲染)服务器).
我知道HTML5"localStorage"是一个关键:值存储,但我想知道是否有可用的Javascript库提供更多的SQL-ish API?
我正在审查一些源代码,而下划线/ lodash仅包含在该_.isBoolean函数中.的下划线源是以下:
_.isBoolean = function(obj) {
return obj === true || obj === false || toString.call(obj) == '[object Boolean]';
};
Run Code Online (Sandbox Code Playgroud)
看着在NG功能部件我看到类似的功能(angular.isObject,angular.isString,angular.isNumber等),但没有angular.isBoolean作用.
该angular.js源这有一个内部的功能(如下源),但请求的问题,使公众(壮举:注册isBoolean作为全球角度#5185公共成员)被封说:"其他图书馆像下划线和lodash解决这些问题好".
function isBoolean(value) {
return typeof value === 'boolean';
}
Run Code Online (Sandbox Code Playgroud)
问题:
isBoolean在我的代码中复制并创建一个命名函数,但哪个实现更正确?angular.isBoolean?是否有可能使Google蜘蛛可以读取JSON数据?
比如说我有一个包含电子商务网站数据的JSON提要.此JSON数据用于在用户浏览器中填充人类可读的页面.(IE从JSON数据到人工显示页面的转换是在用户浏览器内完成的;不是我的选择,只是我给予的工作,它是一个旧的遗留CGI应用程序而不是实际的服务器端脚本语言.)
我担心的是,当用户在谷歌点击它时,谷歌蜘蛛将无法提取/直接链接到相关项目,被提供一个充满所有项目的索引页面,而不是直接链接到他们点击的项目.
无论如何,在JSON中"告知"谷歌蜘蛛他们应该为用户提供不同的链接吗?
我正在浏览JIT的代码,我看到了这个:
var isGraph = ($type(json) == 'array');
var ans = new Graph(this.graphOptions);
if(!isGraph)
//make tree
(function (ans, json) {
ans.addNode(json);
for(var i=0, ch = json.children; i<ch.length; i++) {
ans.addAdjacence(json, ch[i]);
arguments.callee(ans, ch[i]);
}
})(ans, json);
else
//make graph
(function (ans, json) {
var getNode = function(id) {
for(var w=0; w<json.length; w++) {
if(json[w].id == id) {
return json[w];
}
}
return undefined;
};
Run Code Online (Sandbox Code Playgroud)
那些匿名函数的目的是什么?他们立即超出范围,对吧?
为何使用:
(function (ans, json) {
ans.addNode(json);
for(var i=0, ch = json.children; i<ch.length; i++) {
ans.addAdjacence(json, ch[i]); …Run Code Online (Sandbox Code Playgroud) 有没有简单的方法将TFS版本控制集成到MonoDevelop中?我有一个新的MacBook Pro,并试图确定我可以用Mac原生应用程序做什么,我需要使用Parallels运行.
我下载了Microsoft Visual Studio团队资源管理器Everywhere 2010命令行客户端,并能够创建工作区,映射工作文件夹并获取最新代码.但是,从MonoDevelop内部获取最新信息会很不错.在选项中有我可以尝试和设置的外部工具,但我认为有人可能已经这样做了.有人这样做过吗?
另外,我看到opentf项目在2008年2月4日的发行说明中列出了一个alpha质量的MonoDevelop插件,但那是两年前的事了.有人用过吗?
我正在尝试使用以下代码从iOS5应用发布图片:
TWTweetComposeViewController *tweeter = [[TWTweetComposeViewController alloc] init];
[tweeter addImage:image];
Run Code Online (Sandbox Code Playgroud)
我认为我的EXIF被剥离了,但不确定这是我的错,iOS Twitter代码还是Twitter服务.我还没有找到权威的答案,但我怎样才能在twitter上发布带有地理标记的图片?似乎指向Twitter和Twitter照片共享上线为所有用户在他们的新闻故事中有这个:
摄影师将有兴趣了解所有EXIF数据,识别用于拍摄照片的设备以及所使用的设置的信息,在上传后会从照片中删除
我正试图找到我的代码的官方来源或更好的权威.我还尝试从照片应用程序发送一张图片,上传后似乎也丢失了EXIF(位置)数据.
我正在开发一个Web开发项目,我希望确保在BlackBerry浏览器上运行良好.作为测试和文档的一部分,我希望能够截取我的应用程序的屏幕截图,并想知道从哪里开始.
我在搜索截图时看到BlackBerry App World上有几个付费应用程序,但我正在寻找建议或其他选项.具体来说,我有一个Bold 9700(v5.0.0.296,平台5.1.0.83).
根据iPhone用户指南,iPhone中内置了此功能.
获取iPhone显示屏的屏幕截图:同时快速按下并释放睡眠/唤醒和主屏幕按钮.
javascript ×4
c# ×2
angularjs ×1
asp.net-mvc ×1
blackberry ×1
exif ×1
html5 ×1
image ×1
ios5 ×1
json ×1
lambda ×1
lodash ×1
macos ×1
monodevelop ×1
mustache ×1
performance ×1
query-string ×1
razor ×1
screenshot ×1
seo ×1
sql ×1
tfs ×1
twitter ×1
web-crawler ×1