我正在研究哈希.我正在编写一个短语,我只能使用该短语的20个字符.
如何只读取字符串的20个字符?
如果它们相同,我如何比较字符串?
我正在尝试异步扫描TCP端口.由于开放端口只需几百分之一毫秒即可完成它们很好,但是当端口关闭时我必须等待响应.
所以会发生的是我运行应用程序,几乎马上就看到端口80打开了.然后我必须等半分钟才能扫描所有其他端口.
编辑.另外,我希望在发生响应时显示响应,而不是等待其他端口进行检查.
如何让这更快?
private void btnStart_Click(object sender, EventArgs e)
{
for (int port = 79; port < 90; port++)
{
ScanPort(port);
}
}
private void ScanPort(int port)
{
TcpClient client = new TcpClient();
client.BeginConnect(IPAddress.Parse("74.125.226.84"), port, new AsyncCallback(CallBack), client);
}
private void CallBack(IAsyncResult result)
{
bool connected = false;
using (TcpClient client = (TcpClient)result.AsyncState)
{
try
{
client.EndConnect(result);
connected = client.Connected;
}
catch (SocketException)
{
}
}
if (connected)
{
this.Invoke((MethodInvoker)delegate
{
txtDisplay.Text += "open2" + Environment.NewLine;
});
}
else …Run Code Online (Sandbox Code Playgroud) 所以我想要做的是能够连续输入所有10个文本框.我从第一个开始,然后输入3个字符后将焦点改为焦点,然后输入3个字符,重点放在下一个字符上.
我已经完成了那部分,但如果第二个文本框中已有文本怎么办?我尝试了Clear(),但它创建了一个错误,不允许我输入超过1个字符.
因此,当所有文本框都填充有垃圾数据时,因此当我开始在第一个文本框123处键入时,然后移动到第二个文本框456第三个789等.但是下一个字段首先被清除.
我正在努力解决这个问题:
public PingIPRange()
{
InitializeComponent();
txtF1.TextChanged += new EventHandler(NextField);
txtF2.TextChanged += new EventHandler(NextField);
txtF3.TextChanged += new EventHandler(NextField);
txtF4.TextChanged += new EventHandler(NextField);
txtT1.TextChanged += new EventHandler(NextField);
txtT2.TextChanged += new EventHandler(NextField);
txtT3.TextChanged += new EventHandler(NextField);
txtT4.TextChanged += new EventHandler(NextField);
txtInterval.TextChanged += new EventHandler(NextField);
txtRepeat.TextChanged += new EventHandler(NextField);
}
private void NextField(object sender, EventArgs e)
{
if (txtF1.TextLength == 3)
{
txtF2.Focus();
}
if (txtF2.TextLength == 3)
{
txtF3.Focus();
}
if (txtF3.TextLength == 3)
{
txtF4.Focus();
}
if (txtF4.TextLength == …Run Code Online (Sandbox Code Playgroud) 我之前遇到过一些问题导致我的程序在所有Windows操作系统中崩溃,因为我没有为我的文件创建新的文件/目录.然后我确信在初始化ect之前我已经创建了文件/文件夹.现在我的程序在Windows XP中运行,但它在Windows 7中不起作用.通过说它可行,我的意思是它创建了我的程序所需的文件/文件夹.不工作我的意思是文件/文件夹不是在Windows 7中创建的.
这段代码可能是Windows 7下崩溃的原因吗?如果是这样,我该如何解决?
private static string dir = Environment.GetFolderPath
(Environment.SpecialFolder.ProgramFiles) + @"\folder\";
private static string file = dir + @"\Settings.txt";
private string text;
public void CheckFileStatus()
{
if (!Directory.Exists(dir))
{
DirectoryInfo directory = Directory.CreateDirectory(dir);
}
if (!File.Exists(file))
{
using (FileStream fileStream = File.Create(file))
{
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想计算2个给定IP地址的IP地址数.
示例:127.0.1.10并且127.0.0.200是67IP地址..
做这件事的简单方法是什么?
如何仅使用"保存文件"对话框获取文件名?
MessageBox.Show("File was created with name: " + SOME CODE HERE +
Environment.NewLine + Environment.NewLine +
"You can find it at: " + Environment.NewLine + sfdNewFile.FileName);
Run Code Online (Sandbox Code Playgroud) 我正在使用一个ListWiew已选中的已检查属性,因此它在第一列中的每个项目上都有一个复选框。现在,我想在第二列上也有另一个复选框,但在我的列表视图的属性中找不到任何有用的东西来拥有超过 1 个复选框。
我该怎么做?
我不理解以下代码中的一些内容.为什么长度设置为16?ret变量的目的是什么?
请解释.
我不明白这个:
foreach (byte a in hash)
{
if (a < 16)
ret += "0" + a.ToString("x");
else
ret += a.ToString("x");
}
Run Code Online (Sandbox Code Playgroud) c# ×8
winforms ×3
.net ×1
asynchronous ×1
checkbox ×1
hash ×1
listview ×1
subitem ×1
windows-7 ×1
windows-xp ×1