我看到有一些方法可以获取应用程序文件夹路径:
Application.StartupPath
System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().Location)
AppDomain.CurrentDomain.BaseDirectory
System.IO.Directory.GetCurrentDirectory()
Environment.CurrentDirectory
System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
System.IO.Path.GetDirectory(Application.ExecutablePath)
取决于具体情况,最好的方法是什么?
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Exit();
Application.Run(new Form1());
}
Run Code Online (Sandbox Code Playgroud)
为什么在调用Application.Exit()之后,应用程序不会立即退出?在这一行之后,Form1仍然显示.如何立即退出申请.谢谢.
*注意:*这只是一个例子.我在显示表单之前处理了一些函数.在函数中,我有一个命令代码来调用Application.Exit(),但我想知道为什么应用程序不会立即退出.
我正在使用.NET Framework 4.0
这是我的代码示例:
var output = new
{
NetSessionId = string.Empty
};
foreach (var property in output.GetType().GetProperties())
{
property.SetValue(output, "Test", null);
}
Run Code Online (Sandbox Code Playgroud)
它发生异常:"找不到属性集方法".我想知道如何创建一个具有可设置属性的匿名类型.
谢谢.
假设notepad.exe正在打开,并且它的窗口处于非活动状态.我将编写一个应用程序来激活它.怎么做?
更新:窗口标题未定义.所以,我不喜欢使用基于窗口标题的FindWindow.
我的应用程序是Winform C#2.0.谢谢.
我有一节课:
public class MyObject
{
public string Name;
public int Age;
}
Run Code Online (Sandbox Code Playgroud)
我有一个Myobject对象列表:
Name Age
ABC 12
BBC 14
ABC 11
Run Code Online (Sandbox Code Playgroud)
如何使用条件对此列表进行排序:首先排序名称,然后排序年龄.使用此列表,排序后的结果:
Name Age
ABC 11
ABC 12
BBC 14
Run Code Online (Sandbox Code Playgroud) 我创建一个新线程并从主线程启动它.
m_MyThread = new Thread(HandleMyThread);
m_MyThread.IsBackground = true;
m_MyThread.Start();
private void HandleMyThread()
{
while (true)
{
Thread.Sleep(5000);
return;
}
}
Run Code Online (Sandbox Code Playgroud)
5秒后,此线程将完成并且其ThreadState已停止.我想在用户点击按钮时再次启动它,但我得到一个ThreadStateException (Thread is running or terminated; it cannot restart)
:
private void button1_Click(object sender, EventArgs e)
{
m_MyThread.Start(); // ->raise exception
}
Run Code Online (Sandbox Code Playgroud)
请帮我如何重新启动已停止的线程.谢谢.
当我的应用程序使用指定的文化运行时.不要关闭应用程序,用户更改系统的文化,例如:从"."更改数字小数分隔符.至 ",".如何我的应用程序可以捕获此事件.谢谢.
注意: C#2.0,Windows窗体.
我在这里有关于.Net框架技术和游戏服务器的问题.假设我有一些游戏机作为客户端,我想将这些客户机连接到游戏服务器,你们认为如果我使用.NET框架开发服务器应用程序是好的吗?
客户机也是用dotnet技术开发的.如果我将我的服务器扩展到几个同时运行的服务器,如果我在我的游戏服务器上使用.Net框架,那该怎么办?我应该使用什么.Net技术,.Net Remoting,XML Web服务,COM +,MSMQ或任何建议?
这里一个更重要的因素是表现明智.我希望客户端和服务器之间的通信能够快速有效地进行通信而不会长时间滞后.
我想扩展到几个服务器的目的是因为如果其中一个服务器关闭或关闭进行服务,我仍然可以让我的应用程序运行而不会中断任务关键和实时的游戏过程.
以前有什么样的灵魂做过这样的设置吗?如果是的话,你们对此感觉如何?在游戏服务器中使用.Net的最佳,好,差或最差?
我真诚地感谢.Net和游戏开发专家在这里给我一些反馈.
谢谢,
默认情况下,Windows控件没有DoubleBuffer.当我使用它时,我可以减少闪烁.为什么在Windows控件中默认不使用它.
在控制中使用DoubleBuffer时,任何人都可以分辨出优点和缺点.
谢谢.
在.NET 4.0中,有一个内置的委托方法:
public delegate TResult Func<in T, out TResult>(T arg);
Run Code Online (Sandbox Code Playgroud)
它用于LINQ extesion方法,例如:
IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
Run Code Online (Sandbox Code Playgroud)
我不清楚Func委托,为什么以下lambda表达式匹配它:
// p is a XElement object
p=>p.Element("firstname").Value.StartsWith("Q")
Run Code Online (Sandbox Code Playgroud)