该市大约有 200 座手机信号塔。标签放置在 Yandex 地图构造函数中。从那里,我导出一个包含所有坐标的文件,然后将它们绘制在网站上的地图上。我在Circle具有颜色(我认为这无关紧要,但红色)、透明度 (10)、半径 (4 公里) 的对象的帮助下应用。放大时,物体相互叠加,结果在它们后面什么也看不见。您如何解决这种情况?
Mikhail Znak's questions
我使用POST发出请求HttpWebRequest,其中包含文件中的信息。我执行Server.TransferRequest(/Client.aspx)重定向到所需的页面。问题是它Page_Load在 2 个线程中同时运行。我自己没有创建任何线程(有意)。我的问题是什么?
var request = (HttpWebRequest)WebRequest.Create(new Uri("http://localhost:1446/ClientForm.aspx"));
request.Method = "POST";
var data = Encoding.UTF8.GetBytes(path + "email.com");
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
}
//Server.TransferRequest("/ClientForm.aspx");
Response.Redirect("/ClientForm.aspx");
如何在 ASP.NET 中发送 POST 文件?(类,方法)
List<CriticalError> troubles = new List<CriticalError>(); // связывается с таблицей
this.dataGridView.DataSource =
troubles.GetRange(0,troubles.Count); //чтобы не выдавало ошибку индекс -1
for (int i = 0; i < this.dataGridView.Rows.Count - 1; i++)
{
if (Convert.ToBoolean(this.dataGridView.Rows[i].Cells["Reaction"].Value) == false) // если CheckBox == false , тогда красим в красный
{
this.dataGridView.Rows[i].DefaultCellStyle.BackColor = Color.Red;
}
}
问题是在循环中dataGridView.Rows[i].DefaultCellStyle.BackColor它采用了所需的颜色,而在退出循环后,一切都是默认的。请告诉我错误在哪里
for (int i = 0; i < this.dataGridView.Rows.Count - 1; i++)
{
if (Convert.ToBoolean(this.dataGridView.Rows[i].Cells["Reaction"].Value) == false)
{
for (int j = 0; j <this.dataGridView.Rows[i].Cells.Count - 1; j++)
{
this.dataGridView.Rows[i].Cells[j].Style.BackColor = Color.Red;
}
}
}
是否可以使任务每分钟执行一次该功能。如果是这样,如何。很明显,还有其他可能更方便或更合适的方法,例如相同的计时器,但仍然很有趣
下午好。告诉我我做错了什么。我从服务器向客户端发送一条消息,
serverSocket.SendTo(Data, lenght,SocketFlags.None ,client);
其中
Data- array Byte[1024]
lenght- 传输消息的长度
client- IPEndPoint
客户端接收:
StringBuilder builder = new StringBuilder(); // сообщение в тексте
do
{
lengthInBytes = clientSocket.Receive(data); // длина сообщения
builder.Append(Encoding.Default.GetString(data)); //data - Byte[1024]
}
while (clientSocket.Available > 0);
commonWindow.Text += builder.ToString(); // вывод в TextBlock
该消息以以下格式显示:
“用户 Ivan 已进入聊天 [][][][][][][][][][][] 等等”
显然,这些是空字节元素,如何截断他们?(显然这应该在收到消息时完成)
可能是什么问题呢?错误文本:
与服务器的连接已成功建立,但登录时发生错误。(provider: Shared Memory Provider, error: 0 - 管道两端都没有进程。) (.Net SqlClient Data Provider)
我使用的是SQL Server Management Studio 2014,密码输入正确。
下午好。有一个 excel 文件,其中的按钮被拧紧了。有必要从 C# 代码运行此文件(这里没问题)并单击此按钮(我在这里不知道如何操作)。
有 2 个线程在控制台上绘制 2 辆汽车并模仿它们的运动。
机器 -Enemy- 从上方降下,玩家必须绕过它。对象渲染是通过lock.
问题是,当我需要让玩家的汽车“减速”时,他从左到右的运动也会减速(按计划,它不应该)。速度被实施为时间控制Thread.Sleep(int delta)。
请提出解决此问题的可能方法。
有这样的情况
struct Point
{
int x;
int y;
public void SetX(int a){ ... }
public void SetY(int a){ ... }
}
class A
{
Point cord = new Point();
public Point Cord
{
get { return cord; }
}
public void MethodA(int a)
{
cord.SetX(a); //здесь все ок
}
}
class B
{
A myObj = new A();
public Point Cord
{
get { return cord; }
}
public void MethodB(int a)
{
myObj.Cord.SetX(a); //а здесь не присваивает значение
}
}
在 A 类中,该方法可以正常工作,但在 B 类中不能正常工作(它进入方法,在那里它为某物赋值,但 myObj 对象及其 cord 字段中没有 Point 类型)我想知道这个值是什么分配给以及为什么它适用于类,但不适用于结构。
public void ChangeDirection(object state)
{
while (true)
{
while (Console.KeyAvailable)
{
Console.ReadKey(true);
}
ConsoleKeyInfo key = Console.ReadKey(true);
lock (state)
{
switch (key.Key)
{
//
}
}
}
这里实现了蛇的方向改变。
它是这样工作的:如果蛇向右移动,那么它可以向任何方向改变方向,但不能向左移动(也就是说,蛇不会反向移动)。一切正常,除了一件事,但如果你快速按下,例如,向上和向左,那么在同一条线上它会改变它的方向相反(禁止向左)。
在我看来,问题在于清除控制台缓冲区
while (Console.KeyAvailable)
{
Console.ReadKey(true);
}
在空旷的地方我找到了这样一种清洁它的方法,但显然它不起作用。
你能告诉我错误在哪里或者我做错了什么吗?是否有可能以某种方式获得按键队列?
我唯一的输入是在这个方法中(该方法属于 Snake 类),它在线程上调用
Snake snake = new Snake();
object obj = new object();
Thread keyboard = new Thread(snake.ChangeDirection); // Смена направления.метод, который рассматривается с самого начала
keyboard.Start(obj);
while (true)
{
lock (obj)
{
Thread.Sleep(100);
snake.Movement(obj); // перемещение координат ,switch с увелечением X или Y
}
snake.Draw();
}
PS 在另一台电脑上一切正常......
Action a1 = () => Console.Write(1);
Action a2 = () => Console.Write(2);
Action a3 = () => Console.Write(3);
((a1 + a2 + a3) - (a1 + a2))();
((a1 + a2 + a3) - (a1 + a3))();
我看到了这个例子,变得很有趣。在这种情况下,完成了委托的移除。在 (a1 + a2) 和 (a1 + a3) 处发生了什么,为什么第一个选项可以正确删除而第二个选项根本不起作用?
有2个班
class A : class Parent
{
public void Draw()
}
class B : class Parent
{
public void Draw()
}
并且有必要同步这2个线程,以便方法严格地一个一个执行。(或至少到最后)Parent 类有一个同步对象。Draw方法是这样实现的
public void Draw()
{
while(true)
{
lock(obj)
{
//Рисуем объект
}
}
}
在我看来,线程应该已经执行,尽管不是一个一个地执行,而是执行到最后,只有在那之后,另一个线程(或同一个线程)才应该启动。事实上,事实证明这些进程相互干扰
class Parent
{
public object obj = new object();
}
线程类:
class Game
{
public void Start()
{
A first = new A();
B second = new B();
Thread doRoad = new Thread(A.Draw);
Thread doAuto = new Thread(B.Draw);
A.Start();
B.Start();
}
}
我正在控制台 C# 中编写一个迷你游戏。为了更漂亮的显示,我想从控制台的底部和侧面移除滚动条。我没有在控制台的属性中找到这样的时刻。如果有办法请告诉我
任务的本质是控制对事件的订阅。如果此方法已签名,则删除对它的重复引用。您需要使用第三方方法来实现它(添加和删除事件本身一切都很容易)。我得到 EventInfo,但无法从中提取特定方法。我将一个实例传递给方法本身,其中包含此事件