我正在尝试学习在C#中提升和处理事件.
这是我的简单例子:
/////////////// creating a new BALL object ///
ballClass ball = new ballClass();
void button1_Click(object sender, EventArgs e)
{
// this should make the BALL object raise an event
ball.onHit();
label1.Text = "EVENT SEND";
}
// when event is fired, label text should change
void BallInPlayEvent(object sender, EventArgs e)
{
label2.Text = "EVENT FOUND!";
}
Run Code Online (Sandbox Code Playgroud)
和球类:
class ballClass
{
public event EventHandler BallInPlay;
public void onHit()
{
this.BallInPlay ///// ??? how should i raise this event?
}
}
Run Code Online (Sandbox Code Playgroud)
在电话中我无法理解, …
我写了一个小代码,如果一个zip文件超过5小时(300薄荷),检查时间例程,然后必须删除该文件.我有这个代码.但它没有删除任何文件.
string[] zipfiles = Directory.GetFiles("D:\\images\\zipFiles\\", "*.zip*");
foreach (string zip in zipfiles)
{
FileInfo zipinfo = new FileInfo(zip);
string t = zipinfo.CreationTime.ToString();
TimeSpan span = DateTime.Now - zipinfo.CreationTime;
int k =0;
k = span.Minutes;
if (k > 300)
{
zipinfo.Delete();
}
else
{
}
}
Run Code Online (Sandbox Code Playgroud) 我需要加载每秒(或两个)新图像.
以下代码不起作用:
System.Threading.Thread.Sleep(2000);
this.Image_LoadImage.Source = new BitmapImage(new Uri(@"D:\\connect2-1.gif"));
System.Threading.Thread.Sleep(2000);
this.Image_LoadImage.Source = new BitmapImage(new Uri(@"D:\\connect3-1.gif"));
Run Code Online (Sandbox Code Playgroud)
我看到的是该应用程序睡眠4秒,然后出现第二个图像.
我该怎么做?谢谢.
我想检查字符串是否是从给定字符串集中的另外两个字符串构建的.
例如,给定以下数组:
var arr = new string[] { "b", "at", "bat", "ct", "ll", "ball", "ba"};
Run Code Online (Sandbox Code Playgroud)
我想只返回"蝙蝠"和"球".
那是因为它们可以由数组中的其他两个元素组成,如下所示:
"bat" = "b" + "at"
"ball" = "ba" + "ll"
Run Code Online (Sandbox Code Playgroud)
我试过用foreach循环来做这件事,但我不是很正确.任何帮助都感激不尽.
我做过类似的事情
foreach(var x in list)
{
if (dataaccess.IsThreeCharacters(x))
{
for (int i = 0; i < arr.Length; i++)
{
for (int j = i; j < arr.Length; j++)
{
if(x == arr[i] + arr[j])
{
newlist.Add(x);
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 就像标题所说,有没有办法SessionFactory为多个数据库"重用" ?由于实例化SessionFactory需要时间,我想知道是否可以集中这些实例并重用它们,只更改连接/数据库名称.显然,第一级缓存将被清除,但我试图避免实例化工厂本身所涉及的惩罚.
背景是我可以拥有几个具有完全相同模式的小型"可插拔"数据库,因此NHibernate不需要每次都重建所有映射.
我有一个带有9个TextBox控件的WinForm应用程序.如何提醒用户哪些文本框为空或为空?
var incompleteTextBoxes = this.Controls.OfType<TextBox>().Where(tb => string.IsNullOrWhiteSpace(tb.Text));
foreach (var textBox in inCompleteTextBoxes)
{
// give user feedback about which text boxes they have yet to fill out
}
Run Code Online (Sandbox Code Playgroud) 以下代码List<string>在yield返回之前创建一个中间实例并向其追加值.有没有一种好方法可以避免创建实例并且直接返回单元格值?
IEnumerable<IEnumerable<string>> GetStrValues()
{
......
foreach (var r in rows)
{
var row = new List<string>();
foreach (var c in r.Cells())
{
var value = getCellStr(c);
row.Add(value);
}
yield return row;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我试图用防御性编程来做这个小程序,但是我很难处理这个避免Loop-Goto,因为我知道这是BAD编程.我曾尝试过,并且做...而循环,但在一个案例中,我没有问题.当我要做另一个时,问题开始...而对于第二种情况("不插入空格或点击输入按钮").我尝试和嵌套做...虽然但在这里结果更复杂.
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i;
int length;
char giventext [25];
Loop:
printf("String must have 25 chars lenght:\n");
gets(giventext);
length = strlen(giventext);
if (length > 25) {
printf("\nString has over %d chars.\nMust give a shorter string\n", length);
goto Loop;
}
/* Here i trying to not give space or nothing*/
if (length < 1) {
printf("You dont give anything as a string.\n");
goto Loop;
} else {
printf("Your string has %d\n",length);
printf("Letter in lower …Run Code Online (Sandbox Code Playgroud) 看看下面的一段代码:
#include <stdio.h>
int main()
{
int i;
for (i = 48; i < 58; i++)
{
printf("%d", i);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:48495051525354555657
但是,如果你改变printf("%d", i);到printf("%c", i);输出变为:0123456789
不应同时输出48495051525354555657为什么代时输出不同的d使用c?
我正在使用 C# 中的 System.IO 中的 BinaryReader 读取二进制文件,但是,当使用 ReadString 时,它不会读取第一个字节,代码如下:
using (var b = new BinaryReader(File.Open(open.FileName, FileMode.Open)))
{
int version = b.ReadInt32();
int chunkID = b.ReadInt32();
string objname = b.ReadString();
}
Run Code Online (Sandbox Code Playgroud)
这并不难,首先它读取两个整数,但应该返回 objame 的字符串是“bat”,而它返回的是“at”。
这与我读过的前两个整数有关系吗?或者可能是因为第一个 int 和字符串之间没有空字节?
提前致谢。