考虑一下:
var me = new { FirstName = "John", LastName = "Smith" };
Run Code Online (Sandbox Code Playgroud)
这很好,因为我们可以这样做:
Console.WriteLine("{0} {1}", me.FirstName, me.LastName);
Run Code Online (Sandbox Code Playgroud)
但是我们不能这样做:
public T GetMe()
{
return new { FirstName = "John", LastName = "Smith" };
}
Run Code Online (Sandbox Code Playgroud)
因为我们不知道T的类型
我们可以这样做:
public object GetMe()
{
return new { FirstName = "John", LastName = "Smith" };
}
Run Code Online (Sandbox Code Playgroud)
但是我们必须使用反射检查对象的属性才能访问它们:
var p = new Prog();
object o = p.GetMe();
Type t = o.GetType();
foreach (var prop in t.GetProperties())
{
Console.WriteLine(prop.Name + ": " + prop.GetValue(o, null));
}
Run Code Online (Sandbox Code Playgroud)
然而,如果我们可以命名一个匿名类型,我们定义它呢?当然它不再是匿名的,但它比普通的类定义更简洁和可维护. …
所以我们假设有一个游戏,其中包含一个由理论层面组成的"生活吧".当用户执行特定动作时,根据其动作的准确性,生命条以相应的速度增长.随着它的发展和进入下一个层次,理想行动的标准发生变化,因此用户现在必须弄清楚这些新行动是什么,以保持增长而不是缩小.当用户试图了解哪些动作/模式导致增长时,诸如"时间"和不良行为之类的事情会慢慢地将它们带回来.
我想知道是否有人知道任何可能具有类似逻辑的开源游戏.
或者,如果有这种类型逻辑的名称,那么我可以尝试找到一些可以帮助我设置这样的算法的算法.
TIA
-added
由于看起来似乎没有类似这样的技术术语,也许有人可以提出一些伪顶级逻辑.我以前从未建立过游戏,并希望提高我向最佳方向前进的机会.
我正在编写一个Web应用程序,它将通过AJAX发出请求,并希望锁定这些调用.经过一番研究,我正在考虑使用某种形式的随机令牌(字符串)与请求一起传回(GUID?).这是我的算法的重要部分:
着眼安全,这有意义吗?对于令牌,GUID是否有效 - 是否应该是其他内容?有没有一种好方法来加密请求中的变量?
编辑:
我知道这些AJAX请求不会真正"安全",但我想添加基本安全性,因为我想阻止其他人使用我打算编写的服务.这个随机令牌将是针对滥用呼叫的基本前线防御.将要求(甚至提交以生成此类数据)的数据极不可能重复.
也许我在使用GUID时错了......随机生成的字符串(令牌)怎么样?
我正在寻找一种类似iPhone的"选择器"控件,我可以在网上使用它.
可访问性不是问题.JavaScript将在所有客户端上提供,Web应用程序将在提供给用户的环境上运行.如果解决方案可以优雅地降级到选择框,那将是很好的.Flash和Silverlight并不理想(出于我不想进入的原因),但Flash和Silverlight中的类似解决方案可能会受到其他人的欢迎.
以下是iPhone控件的示例:

我在 TabControl 内的 TabPage 上有一个 TrackBar 控件。TrackBar 的背景绘制为灰色,而 TabPage 绘制为白色。无法将 TrackBar 的 BackColor 属性设置为透明,也无法覆盖绘图,因为 TrackBar 没有 DrawMode 属性。我必须使用哪些选项才能使 TrackBar 适合?为什么它不支持视觉样式?
鉴于此文本:
/* F004 (0309)00 */
/* field 1 */
/* field 2 */
/* F004 (0409)00 */
/* field 1 */
/* field 2 */
我如何解析它到这个数组:
[
["F004"],["0309"],["/* field 1 */\n/* field 2 */"],
["F004"],["0409"],["/* field 1 */\n/* field 2 */"]
]
我有代码正在解析前两个项目:
form = /\/\*\s+(\w+)\s+\((\d{4})\)[0]{2}\s+\*\//m
text.scan(form)
Run Code Online (Sandbox Code Playgroud)
[
["F004"],["0309"],
["F004"],["0409"]
]
这里是我尝试解析所有三个并且失败并且无效的正则表达式错误的代码:
form = /\/\*\s+(\w+)\s+\((\d{4})\)[0]{2}\s+\*\//m
form_and_fields = /#{form}(.[^#{form}]+)/m
text.scan(form_and_fields)
Run Code Online (Sandbox Code Playgroud)
form = /
\/\*\s+(\w+)\s+\((\d+)\)\d+\s+\*\/ #formId & edDate
(.+?) #fieldText
(?=\/\*\s+\w+\s+\(\d+\)\d+\s+\*\/|\Z) #stop at beginning of next form
# or the end …Run Code Online (Sandbox Code Playgroud) 我正在制作一个拍摄屏幕快照的程序,并将其作为位图图片保存到文件夹中.我似乎遇到了一个问题,图片只是覆盖了自己.
任何人都可以告诉我如何能够这样做,当它保存时,数字会比最后一个高吗?例如:Save 1:Screenshot0001.bmp Save 2:Screenshot0002.bmp Save 3:Screenshot0003.bmp
等等.
我正在编写一个Scheme解释器,我面临一个有效的let语句,例如:
;; should print 7
(let ((a 4) (b 3))
(let ((a (* a a))
(b (* b b)))
(+ a b)
(- a b)))
Run Code Online (Sandbox Code Playgroud)
我的解释器只实现了Scheme的一个纯函数子集,因此不存在set!等副作用.在纯函数式语言中,为什么要在let语句中允许多个表达式,如上所述?
在编写我的翻译时,除了let中的最后一个表达式,我还有什么理由可以评估它吗?似乎它们永远不会影响最后评估的陈述的结果.