我正在学习更多关于LINQ和Lambda表达式的过程,但在这个阶段,我根本就没有"获取"Lambda表达式.
是的......我是这些新概念的新手.
我的意思是,我看到的每个例子都说明了如何添加或减去参数.
那些更复杂的东西怎么样?
为了帮助我获得更好的理解,我已经为希望参与的任何人发布了一个小挑战.我有以下方法将接受任何字符串,并将空格放在任何大写字符和它们的前一个邻居之间(如下所示).
即
"SampleText"="Sample Text"
"DoesNotMatterHowManyWords"="不重要多少字"
这是代码;
public static string ProperSpace(string text)
{
var sb = new StringBuilder();
var lowered = text.ToLower();
for (var i = 0; i < text.Length; i++)
{
var a = text.Substring(i, 1);
var b = lowered.Substring(i, 1);
if (a != b) sb.Append(" ");
sb.Append(a);
}
return sb.ToString().Trim();
}
Run Code Online (Sandbox Code Playgroud)
我确信上面的方法可以重写为与LINQ或Lambda表达式一起使用.我希望这项练习能够帮助我开启这些新概念.
此外,如果您有任何LINQ或Lambda教程的良好链接,请提供.
编辑
感谢所有贡献的人.虽然当前的方法确实可以完成这项工作,但我很高兴看到它可以被修改为使用lambda表达式.我也承认这可能不是LINQ的最佳例子.
这是使用Lambda表达式的新更新方法(经测试可用);
public static string ProperSpace(string text)
{
return text.Aggregate(new StringBuilder(), (sb, c) =>
{
if (Char.IsUpper(c)) sb.Append(" ");
sb.Append(c);
return …Run Code Online (Sandbox Code Playgroud) 我正在维护一个经典的asp应用程序,在查看代码时,我遇到了两行类似的代码:
Request.ServerVariables("URL")
' Output: "/path/to/file.asp"
Request.ServerVariables("SCRIPT_NAME")
' Output: "/path/to/file.asp"
Run Code Online (Sandbox Code Playgroud)
我不明白......有什么区别?他们都忽略了我设置的URL重写,它将/ path文件夹作为根文档(上面的URL被重写为"/to/file.asp")
更多信息:该站点部署在IIS 7上
int fn();
void whatever()
{
(void) fn();
}
Run Code Online (Sandbox Code Playgroud)
是否有任何理由将未使用的返回值转换为无效,或者我是否认为这完全是浪费时间?
跟进:
那看起来相当全面.我认为这比评论未使用的返回值更好,因为自我记录代码比评论更好.就个人而言,我会关掉这些警告,因为这是不必要的噪音.
如果一个虫子逃脱,我会吃掉我的话......
有没有什么办法让HttpContext.Current.Request.Url.Host和HttpContext.Current.Request.ApplicationPath一个电话吗?
像"完整的应用程序URL"?
编辑:澄清 - 我需要的是[]中的部分:
http://[www.mysite.com/mywebapp]/Pages/Default.aspx
Run Code Online (Sandbox Code Playgroud)
我只是出于好奇而问.
编辑2:感谢所有的回复,但没有一个是我正在寻找的.仅供参考,我以这种方式解决了问题(但我仍然有兴趣知道是否有更顺畅的方式):
public string GetWebAppRoot()
{
if(HttpContext.Current.Request.ApplicationPath == "/")
return "http://" + HttpContext.Current.Request.Url.Host;
else
return "http://" + HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个iPhone应用程序.我正在尝试在基于View的应用程序中构建它.
假设我从x.xib nib文件转到y.xib文件.和x.xib nib文件来自root.xib文件.我想从y.xib转到root.xib文件.
怎么样?
我想实现的是同时实现了一个C++/CLI类IList和IList<T>.
由于它们具有重叠的名称,我必须明确地实现其中一个,并且自然选择应该是IList.
索引器的隐式实现是:
using namespace System::Collections::Generic;
generic<class InnerT> public ref class MyList : public System::Collections::IList, IList<InnerT> {
// ...
property InnerT default[int]{
virtual InnerT get(int index);
virtual void set(int index, InnerT item);
}
}
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试声明IList的默认索引器.
我的猜测是这样的:
property Object^ System::Collections::IList::default[int]{
virtual Object^ System::Collections::IList::get(int index);
virtual void System::Collections::IList::set(int index, Object^ item);
}
Run Code Online (Sandbox Code Playgroud)
但那只是给了我
错误C2061:语法错误:标识符'default'
任何提示?
有没有办法通过嵌入在网站上的Flash小部件或其他方法流式传输存储在Amazon S3上的MP3?
我跟着这个教程到最后,然后发现它不能正常工作.我想我已经安装了所有东西,但是当我输入时
mysql -uroot
Run Code Online (Sandbox Code Playgroud)
我只能得到
-bash: mysql: command not found
Run Code Online (Sandbox Code Playgroud)
注意:我没有跳过"设置路径"步骤.在第一次运行此命令时:
mate ~/.bash_login
Run Code Online (Sandbox Code Playgroud)
这带来了一个空文件.所以我添加了这一行:
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
我保存文件,关闭TextMate,执行以下命令:
. ~/.bash_login
Run Code Online (Sandbox Code Playgroud)
...继续学习本教程.根据你的建议,我想可能文件实际上没有得到保存.所以我运行以下命令再次调出文件:
mate ~/.bash_login
Run Code Online (Sandbox Code Playgroud)
......但文件的内容应该是应有的.
有什么建议?
我在我的 SqlDataSource 上有一个针对我的 SelectCommand 的 sql 查询。它看起来像下面这样:
SELECT * FROM Books WHERE BookID = @BookID
Run Code Online (Sandbox Code Playgroud)
TextBox 使用 Asp:ControlParameter 提供 @BookID 参数。
当我在单步执行代码时查看 SelectCommand 时,我看到:
SELECT * FROM Books WHERE BookID = @BookID
Run Code Online (Sandbox Code Playgroud)
我真正想看到的是,如果这个人在 TextBox 中输入 3,我想看到
SELECT * FROM Books WHERE BookID = 3
Run Code Online (Sandbox Code Playgroud)
我不知道如何访问上述内容?
c# ×3
asp.net ×2
amazon-s3 ×1
asp-classic ×1
c ×1
c++ ×1
c++-cli ×1
code-behind ×1
command-line ×1
httpcontext ×1
include ×1
indexer ×1
installation ×1
lambda ×1
linq ×1
macos ×1
mp3 ×1
mysql ×1
objective-c ×1
ruby ×1
streaming ×1
url ×1
void ×1
xcode ×1