我目前正在学习'C程序设计语言'的练习.这是我的解决方案之一:
int c;
while ((c=getchar()) != EOF) {
if (c == ' ') {
while ((c = getchar()) == ' ')
{} // do nothing?
putchar(' ');
}
putchar(c);
}
Run Code Online (Sandbox Code Playgroud)
我在这里发现了一些与我的完全不同的解决方案,并使用额外的变量来跟踪发生了什么,而我只是使用while循环来跳过所有空间.我的解决方案感觉有点混乱,因为看起来有点hackish有一个在花括号之间没有任何东西的while循环.我想知道是否有任何好的理由不这样做?谢谢你的建议:-)
我正在编写一个使用Windows身份验证的Web应用程序,我很乐意使用以下内容获取用户的登录名:
string login = User.Identity.Name.ToString();
Run Code Online (Sandbox Code Playgroud)
但我不需要他们的登录名我想要他们的DisplayName.我现在已经敲了几个小时了...
我可以通过Web应用程序访问我组织的AD吗?
只是想知道管道在这意味着什么?我以前从未见过它:
FileSystemAccessRule fullPermissions = new FileSystemAccessRule(
"Network Service",
FileSystemRights.FullControl | FileSystemRights.Modify,
AccessControlType.Allow);
Run Code Online (Sandbox Code Playgroud)
干杯
如果您有一个将在网络内运行的Web应用程序,它支持Windows身份验证(活动目录?)是有意义的.
是否有意义使用AD安全模型,或者我是否会创建自己的角色/安全模块,某些管理员必须为每个用户配置?
我之前从未处理过Windows安全问题,因此我对如何处理在Windows网络中运行的Web应用程序的安全性感到非常困惑.
我想我必须解决两个要点:
1. authentication
2. authorization
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,最佳实践会说自己处理授权,但使用AD身份验证吗?
我(或可能是其他任何人)拥有一个我需要迭代的对象列表然后与属性列表进行交互并不少见.我使用嵌套循环,如下所示:
IList<T> listOfObjects;
IList<TProperty> listOfProperties;
foreach (T dataObject in listOfObjects)
{
foreach (TProperty property in listOfProperties)
{
//do something clever and extremely useful here
}
}
Run Code Online (Sandbox Code Playgroud)
这是针对此问题的时间和性能测试模式吗?或者是否有更高性能,更优雅或更简单的乐趣(当然仍然可读和可维护)?
上面的代码并没有让我微笑.有人可以帮助我的循环带来一些快乐吗?
谢谢!
更新:我在最积极的意义上使用术语"书呆子".作为维基百科定义的一部分,它将"指的是一个热衷于追求智力活动的人"."代码书呆子"我指的是一个关心不断改进自己作为程序员的人,寻找新的,新颖的,优雅的快速,可维护和美丽的编码方式!他们很高兴退出VB6并希望聪明的人批评他们的代码并帮助他们自己聪明.(注意:他们也喜欢制作以-ify结尾的新单词).
最后的说明:
感谢Dave R,Earwicker和TheSoftwareJedi让我沿着Linq路走下去.这只是我正在寻找的那种快乐代码!
我正在用字符串做一些工作,我有一个场景,我需要确定一个字符串(通常是一个小的<10个字符)是否包含重复的字符.
`ABCDE` // does not contain repeats
`AABCD` // does contain repeats, ie A is repeated
Run Code Online (Sandbox Code Playgroud)
我可以循环遍历string.ToCharArray()并测试char []中每个其他角色的每个角色,但我觉得我错过了一些明显的东西....也许我只需要咖啡.有人可以帮忙吗?
编辑:
字符串将被排序,因此顺序并不重要,因此ABCDA => AABCD
重复的频率也很重要,所以我需要知道重复是双重还是三重等.
在代码完成2(第601和602页)中,有一个"常用操作成本"表.
基线操作整数赋值的值为1,然后列出了Java和C++的常用操作的相对时间.例如:
C++ Java
Integer assignment 1 1
Integer division 5 1.5
Floating point square root 15 4
Run Code Online (Sandbox Code Playgroud)
问题是有没有人得到C#的这些数据?我知道这些不会帮我解决任何问题,我只是好奇.
我在做一些项目欧拉练习,我碰到一个场景,我已经想这比2,147,483,647(上限更大的阵列int在C#).
当然这些是大型阵列,但是,例如,我不能这样做
// fails
bool[] BigArray = new BigArray[2147483648];
// also fails, cannot convert uint to int
ArrayList BigArrayList = new ArrayList(2147483648);
Run Code Online (Sandbox Code Playgroud)
那么,我可以拥有更大的阵列吗?
我知道使用"here"作为链接的文本被认为是错误的,但如果我想说服商业或建筑师类型的人,那么最好的论据是什么?我知道它可以对搜索引擎优化(SEO)产生一些影响,但任何人都可以更详细地解释这个和任何其他原因吗?
一个例子:
StackOverflow站点可以在这里找到 .
我正在尝试编写一个SQL查询来获取Sitecore中给定项目中的所有字段.
说我被卡住是温和的.
我猜我必须在田野桌上做一些自我加入,但我已经陷入困境.
有人有主意吗?