对于一个游戏,我试图确定某个#将在给定的掷骰子#上出现的频率.我知道......这个问题似乎很奇怪.让我试着用实数来解释它.
因此,对于1个芯片,每个数字的频率将是相同的.1-6将显示相同的次数.
现在2个骰子,事情变得不同了.我想5,6,7将是最频繁滚动的,而频谱两端的数字将显示较少或根本不显示(在1的情况下).我想知道如何计算这个列表并以正确的顺序显示它们,从最常见到较不频繁.
有什么想法吗?
@duffymo - 虽然有一些算法来提出它会非常好.似乎上述方式需要大量的手工采摘和数字放置.如果我的死亡数量是动态的,可以说是10,那么我认为手工操作将是无效的和麻烦的.:)
我有两节课.
public class Class1 {
public string value {get;set;}
}
public class Class2 {
public Class1 myClass1Object {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我有一个Class2类型的对象.我需要在Class2上使用反射来设置value属性...即,如果我在没有反射的情况下这样做,这就是我要去做的事情:
Class2 myObject = new Class2();
myObject.myClass1Object.value = "some value";
Run Code Online (Sandbox Code Playgroud)
有没有办法完成上述操作,同时使用反射访问属性"myClass1Object.value"?
提前致谢.
我见过一些作为Windows服务运行的应用程序,但仍然可以提供一个GUI,允许用户查看实际发生的情况.
例如,我们有一个构建报告的Windows服务.管理员希望看到许多统计信息,例如排队的报告数量,正在使用的内存数量,平均构建时间等.
我们想要做的是为管理员提供一种方法来查看 - 例如可以连接到窗口服务以收集和显示此信息的应用程序......或者可能是应用程序本身可以提供自己的方式GUI并在请求时显示它.现在,应用程序唯一能够创建日志文件.
有没有办法做到这一点?
我从数据库中撤回了一个实体对象,我需要将日期更新到数据库服务器的日期/时间 - 通常你可以通过使用SQL getDate()函数设置它来实现这一点.
如何在以下场景中完成此操作:
var client = context.client.Where(c=>c.clientID == 1).FirstOrDefault();
// the value needs to be the value of the server's current date, i.e, getDate()... not DateTime.Now
client.someDate = <somevalue>;
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud) 我刚刚构建了一个包含ListBox的WPF表单.ListBox已将TextBox控件列表绑定到它.我需要让每个TextBox控件都成为TabStop,以便用户可以点击tab,键入数字,再次点击Tab键并键入下一个数字等.
问题是,ListBox本身捕获了选项卡,然后下一个选项卡跳转到ListBox之后的后续控件.
有没有办法让ListBox中的每个TextBox都是tabbable(或者可能是另一种类型的数据绑定控件)?
谢谢
我有ExpandableList,我分配给扩展BaseExpandableListAdapter.在这里,我实现了getChildView为每个子设置并返回View 的方法:
public View getChildView(int groupIndex, int childIndex, boolean isLastChild, View convertView, ViewGroup parent) {
LinearLayout layout;
if (convertView == null) {
layout = (LinearLayout) LayoutInflater.from(MyApp.getContext()).inflate(R.layout.rooms_room_list_row, parent, false);
} else {
layout = (LinearLayout) convertView;
}
// Do some custom stuff with views on the layout
...
return layout;
}
Run Code Online (Sandbox Code Playgroud)
在调试时,我注意到getChildView每个孩子执行两次.传入的所有值(即groupIndex,childIndex,isLastChild)都是相同的...所以在第3组中,如果我有两个孩子,我会看到:
groupIndex = 3, childIndex = 0
然后
groupIndex = 3, childIndex = 1
然后它重复:
groupIndex = 3, childIndex …
我有一个输入字符串,如下所示:
level=<device[195].level>&name=<device[195].name>
我想创建一个将解析每个<device>标签的RegEx,例如,我希望从我的输入字符串中匹配两个项目:<device[195].level>和<device[195].name>.
到目前为止,我对这个模式和代码运气不错,但它总是发现两个设备标签都是一个匹配:
var pattern = "<device\\[[0-9]*\\]\\.\\S*>";
Regex rgx = new Regex(pattern);
var matches = rgx.Matches(httpData);
Run Code Online (Sandbox Code Playgroud)
结果是matches包含值的单个结果<device[195].level>&name=<device[195].name>
我猜测必须有一种'终止'模式的方法,但我不确定它是什么.
我有一个需要转换为十进制值的2字节数组(21,121).我从中读取数字的硬件包括手册中这个方便的小表:
问题是,我不确定这个方便的小桌子试图告诉我什么.有人可以帮助解释它并建议一种方法,我可以使用c#将其转换为十进制?
我一般习惯BitConverter这个转换,但在这种情况下,我得到30977的值.由于这是一个温度值,我发现很难相信它是那么热...所以我怀疑我经常使用BitConvert isn不够.
我正在使用MVC 3和FormsAuthentication:
<authentication mode="Forms">
<forms loginUrl="~/Account/" timeout="2880" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
我的帐户/索引页面显示一个登录页面,然后使用Jquery,它会发送一个帖子到帐户/登录来验证用户.这是我处理它的AccountController动作:
[HttpPost]
[Authorize(Users = "*")]
public ActionResult Login(string userName, string password) {
...
}
Run Code Online (Sandbox Code Playgroud)
发布的Jquery:
$.post("/account/login", {
"userName": $("#userName").val(),
"password": $("#password").val()
}, function (data) {
...});
Run Code Online (Sandbox Code Playgroud)
以上所有工作,但现在我想限制对网站的一般访问,所以我把它添加到我的根web.config:
<authorization>
<deny users="?" />
</authorization>
Run Code Online (Sandbox Code Playgroud)
为了尝试允许访问帐户控制器,我添加了这个:
<location path="~/Account">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
这是我的问题.我可以查看登录页面(帐户/索引),但我无法提交到帐户/登录.当我通过Fiddler观察正在发生的事情时,我会在发布到该页面时从服务器返回此文本:
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/Account/?ReturnUrl=%2faccount%2flogin">here</a>.</h2>
</body></html>
Run Code Online (Sandbox Code Playgroud)
似乎当我将"〜/ Account"添加到完整的授权用户列表时,它实际上并不像在非mvc项目中那样工作.在MVC 3中有没有特殊的方法呢?
我使用 Windows API 调用 GetLastInputInfo 来确定系统是否空闲。这几乎适用于任何情况,除非 Windows 设置为绕过用户名/密码并自动登录。
在这种情况下,查询 GetLastInputInfo 总是返回 0。在正常情况下,它会返回最后一次输入发生时的系统滴答计数。
有谁知道为什么?或者有没有人知道确定Windows会话是否空闲的替代方法?
编辑
这就是编写代码以检测当前系统空闲时间的方式。检测发生在计时器上,无论计时器运行多长时间,当 Windows 设置为“自动登录”时,GetLastInputInfo 将始终返回 0。
long lastInputTicks = 0;
long idleTicks = 0;
LASTINPUTINFO lastInputInfo = new LASTINPUTINFO();
lastInputInfo.cbSize = (uint)Marshal.SizeOf(lastInputInfo);
lastInputInfo.dwTime = 0;
if (GetLastInputInfo(ref lastInputInfo)) {
lastInputTicks = lastInputInfo.dwTime;
var systemUptime = GetTickCount();
idleTicks = systemUptime - lastInputTicks;
}
return new TimeSpan(0, 0, (int)(idleTicks / 1000));
Run Code Online (Sandbox Code Playgroud)
谢谢
更新
我已经确认这只是因为代码在服务中运行。
澄清:在不使用自动登录的正常情况下,用户在控制台登录,上面的代码 - 即使作为服务运行 - 将返回正确的用户不活动时间。
但是,如果打开了自动登录,则 Windows 会话似乎不会作为典型的控制台会话运行,因此不是跟踪。这仅适用于从服务运行代码而不是从“用户空间”运行的代码 - 如果从用户空间运行,它在所有情况下都能很好地工作。
也就是说,我真的很想找到一个解决方案,它适用于所有场景中的服务。