我一直在尝试一些涉及循环的基本练习.
有人能告诉我为什么以下片段有不同的输出?
while (i<3)
{
while(j<3)
{
printf("(%d %d) ",i,j);
j++;
}
i++;
}
Run Code Online (Sandbox Code Playgroud)
产量
(0 0) (0 1) (0 2)
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("(%d %d) ",i,j);
}
Run Code Online (Sandbox Code Playgroud)
产量
(0 0) (0 1) (0 2) (1 0) (1 1) (1 2) (2 0) (2 1) (2 2)
他们不应该有相同的输出吗?
我需要在C#代码或XML文档中做什么才能让XDocument解析器为Values的XElements 读取文字空格?
我有一个XML文档,其中一部分如下所示:
<NewLineString> </NewLineString>
<IndentString> </IndentString>
Run Code Online (Sandbox Code Playgroud)
我正在XELement使用LINQ查询将每个值添加到数据字典中; 该.ForEach部分看起来是这样的:
.ForEach(x => SchemaDictionary.Add(
LogicHelper.GetEnumValue(x.Name.ToString()), x.Value));
Run Code Online (Sandbox Code Playgroud)
为了测试是否保留了空白值,我打印出一行数据字典中每个值项的字符数.在下面的代码,x表示KeyValuePair与Aggregate简单地使字符整数值的字符串:
x.Value.ToCharArray()
.Aggregate<char,string>("",(word,c) => word + ((int)c).ToString() + " " )
));
Run Code Online (Sandbox Code Playgroud)
我期望看到10 13的<NewLineString>价值,32 32 32 32对于<IndentString>价值.但是,没有为每个值打印任何内容(注意:XML中的其他转义值,例如<正确打印其字符数).
我需要在C#代码或XML文档中做什么才能使我的解析器将完整的空白字符串添加到数据字典中?
在对这个问题的评论中,我看到了一个建议使用的声明
result is not None
Run Code Online (Sandbox Code Playgroud)
VS
result != None
Run Code Online (Sandbox Code Playgroud)
我想知道区别是什么,以及为什么可能推荐另一个?
我似乎无法为此找到明确的答案,我正试图在堆上做一些基本的证明,但这里有什么东西让我失望:
空树是否有效?如果是这样,它的高度是多少?
我认为这将是0.
具有单个节点的树的高度是多少?
我认为这将是1,但我已经看到定义它是0(如果是这种情况,那么我不知道如何考虑一个空树).
我正在编写一些代码来擦除我的ASP.NET站点的用户输入.我需要擦除输入以删除对ASCII字符145,146,147,148的所有引用,这些引用偶尔会从我的mac用户那里获得输入,这些用户正在复制和粘贴他们在Mac上的文字处理器中写入的内容.
我的问题是我认为应该输出相同文本的以下三个字符串.
string test1 = Convert.ToChar(147).ToString();
string test2 = String.Format("'{0}'", Convert.ToChar(147));
char[] characters = System.Text.Encoding.ASCII.GetChars(new byte[] { 147 });
string test3 = new string(characters);
Run Code Online (Sandbox Code Playgroud)
然而,当我将ASP TextBox设置为等于以下内容时
txtShowValues.Text = test1 + "*" + test2 + "*" + test3;
Run Code Online (Sandbox Code Playgroud)
我得到test1的空白值,test2正常工作,test3输出为'?'.
有人可以用不同的方式解释发生的事情.我希望这将有助于我理解.NET如何使用超过128的字符的ASCII值,以便我可以编写一个很好的清理脚本.
编辑
我提到的值(145 - 148)是卷曲引号.单左,右单,双左,双右.
通过"正常工作"我的意思是它输出一个卷曲的报价给我的浏览器.
第二次编辑
以下代码(在答案中提到)也输出了引号.所以问题可能是在测试3中使用ASCII.
char[] characters2 = System.Text.Encoding.Default.GetChars(new byte[] { 147 });
string test4 = new string(characters2);
Run Code Online (Sandbox Code Playgroud)
第三次编辑
我发现了一个我可以借用的mac并能够复制问题.当我将包含引号符号的文本从Word复制并粘贴到我在Mac上的Web应用程序中时,它会粘贴引号(147和148).当我点击保存时,卷曲引号被保存到数据库中,因此我将使用您帮助我的代码来擦除该内容.
FOUTH EDIT
花了一些时间根据这里的响应编写更多示例代码,并注意到它与ASP.NET中的MultiLine TextBoxes有关.这里有很好的信息,所以我决定刚开始一个新问题:ASP.NET Multiline文本框允许输入UTF-8以上
在我的公司,我们正在为我们的产品创建一个新的软件架构.我们当前的架构已经用于许多产品迭代,并且使用寿命很长,现在是它退休的时候了.UI体系结构目前在WTL/ATL 3.0和COM中实现.
我们刚刚完成了后端架构的设计,这个架构将像其前身一样经得起时间的考验.然而,UI技术发展得如此之快,以至于我们团队中的任何人都没有我认为需要的专业知识才能建立一个应该持续多年的基础.我们目前针对此架构瞄准WPF,并考虑各种替代策略,以帮助我们缺乏此技术的专业知识.我们正在考虑的一些方法:
让我们经验丰富的员工加入WPF并完成体系结构 - 对这种方法的关注是,在使用这种架构实现了许多产品之后,我们需要UI层持续的区域以及所需的所有学习内容才会获得.
从咨询公司获得临时专业知识,以协助建筑和开发 - 这种方法看起来很有前景; 有专业知识的公司的建议?Microsoft不提供应用程序和体系结构顾问,因此找到具有必要专业知识的人可能会遇到挑战.
引入一家咨询公司进行建筑学研究和指导会议 - 看起来很有吸引力,因为它可以提供我们的经验人员指导,同时仍然允许我们的领域知识指导建筑的方向.可能很难找到有资格获得此类服务的公司.
那么我的问题是你是如何解决类似情况的,你必须利用你的团队目前没有架构师级别知识的新技术来创建一个强大,丰富,长期的架构?您是否已经获得了前面提到的任何策略的成功,还是有其他我完全错过的方法?
总的来说,我不是以这种方式使用您不熟悉的技术的倡导者.考虑到这一点,我们认为WPF可能提供的用户体验将为我们提供多年来我们想要使用的功能.无论如何,你必须从某个地方开始.;-)
我想用glob添加emacs自动保存文件到我的.gitignore #*#但当然,以哈希开头的行是注释行.
如果不将其视为评论,我如何将其添加到我的.gitignore中?
几乎我见过的每个Java项目都使用Maven或Ant.它们是很好的工具,我认为任何项目都可以使用它们.但是,什么都发生在使?它用于各种非Java项目,可以轻松处理Java.当然,如果你使用Windows,你必须下载make.exe,但是Ant和Maven也没有随JDK一起提供.
与Java一起使用时,make有一些基本缺陷吗?是不是因为Ant和Maven是用Java编写的?
我对css问题很难过.我在这里设置了一个测试页面:http://georgecrawford.com/test/供您检查.
我有一个左浮动的侧边栏 div,以及一个跟随它的主内容 div(它应该环绕它).如果内容只是段落,则没有问题,因为文本在浮点周围很好地包装.但是,我blockquote在内容中有一些内容,我希望它们具有背景颜色和/或边框.这些文本没有问题,它当然围绕侧边栏很好地包装.但是,它blockquote本身跨越内容 div 的整个宽度,这意味着它周围的边框将在侧边栏的顶部运行.
如何确保内容 div中的blockquotes 水平缩短为与文本行("行框")内的宽度相同?段落具有相同的行为,但我的段落周围不需要边框!
谢谢你的帮助!