在C#中,可以使用特殊的方括号语法实例化数组new int[3].这与通过调用构造函数实例化的其他类型不同new List<int>().你能用普通的语法创建一个数组吗?
我试过new System.Array<int>(3)但它爆炸了
非泛型类型'System.Array'不能与类型参数一起使用
我正在使用此代码在远程机器中打开进程:
Process process = new Process();
ProcessStartInfo psi = new ProcessStartInfo(@"D:\tools\PsExec\PsExec.exe");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.RedirectStandardInput = true;
psi.WindowStyle = ProcessWindowStyle.Minimized;
psi.CreateNoWindow = true;
psi.Arguments = "\\\\192.168.0.100 -u user-p pass D:\\app.exe";
process.StartInfo = psi;
process.Start();
Run Code Online (Sandbox Code Playgroud)
在远程机器上,我可以看到该过程开始,但我看不到我的Application GUI.
双击exe将打开GUI

在阅读Jon Skeet关于C#中单例的文章时,我开始想知道为什么我们首先需要延迟初始化.似乎文章中的第四种方法应该足够了,这里仅供参考:
public sealed class Singleton
{
static readonly Singleton instance=new Singleton();
// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static Singleton()
{
}
Singleton()
{
}
public static Singleton Instance
{
get
{
return instance;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在极少数情况下,在单例上有其他静态方法,延迟初始化可能有好处,但这不是一个好的设计.
那么人们可以告诉我为什么懒惰的初始化是如此热门的事情?
以下代码给出了错误:
public class SomeClass
{
private int a;
private int b;
private int c;
private int[] values;
public SomeClass()
{
a = 1;
b = 2;
c = 3;
values = {a, b, c};
}
public static void Main()
{
SomeClass sc = new SomeClass();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望值包含a,b和c.
我也试过像这样在构造函数之外初始化数组.
private int[] values = {a, b, c};
Run Code Online (Sandbox Code Playgroud)
并在构造函数内完全初始化它,如下所示:
int[] values = {a, b, c};
Run Code Online (Sandbox Code Playgroud)
但这些都没有.
我正在 ASP.NET C# 中获取查询字符串数据,我需要它的字符串值和 int.Parse 值(如果可以解析)。(在示例中,我跳过检查空值,因为它对我的问题没有影响)
value = Request.QueryString["value"];
id = int.TryParse(Request.QueryString["value"], out id)
Run Code Online (Sandbox Code Playgroud)
上面的代码满足了我的需要,但我只是好奇是否可以用一句话来写它,所以我尝试了以下方法:
if (int.TryParse(Request.QueryString["value"], out id))) value=Request.QueryString["value"];
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果无法解析字符串值,我不会得到它,但我会得到它的解析值。
有什么建议么?我的代码没有问题,我只是出于好奇而问是否可以用单行代码完成。
我有一个路径,其中有更多的文件夹.某些文件夹可能具有如下所示的模式:"1.0.0"或"1.0.0.0"(可以是任何数字,但它们之间采用这种格式的点).
我正在尝试使用一个正常的表达式,它可以正常使用Regex.Match,但它不能正常工作Directory.GetDirectories(path, regexPattern)
我想要使用的表达式本身是:@"(\d+)\.(\d+)\.(\d+)(\.\d+)*"
我如何使用GetDirectories方法的表达式?或者以其他方式找到我正在搜索的文件夹?
我在Pygame中有一些透明背景的表面.它们的大小都一样.但是每个圆上都绘制了一个不同大小的圆圈,因此圆圈并不完全适合图像.下面是一些示例图像(我在Photoshop中截取了截图,因此您可以清楚地看到图像的透明度和大小):

现在我想删除图像周围的透明边框,使圆圈完全适合图像.我不希望表面呈圆形,我不认为这是可能的,但我希望表面左侧和右侧没有空白列,顶部没有空白行和底部.想要的结果:

曲面上的圆每帧都会改变大小,因此我必须每帧重新计算新曲面.
我已经谷歌了,但我还没有找到任何关于Pygame表面的东西.我也尝试制作自己的功能,但它看起来很丑陋而且更糟糕:帧率从50(如果我不调用函数)下降到30 fps(如果我调用该函数).我测试了一下,我发现较小的圆圈比较大的圆圈需要更长的处理时间.我怎么能这样做,但速度更快.如果你想我可以展示我所做的功能.
我的目标是将纹理(即图像)覆盖在表面上,并使用 python 将其可视化为 3D。该应用程序正在通过 DEM 查看正射影像,因此我使用 gdal 导入我的数据(图像和 DEM)。我尝试使用 matplotlib 中的 plot_surface,但似乎无法向表面添加纹理。
这是当前的代码:
from osgeo import gdal
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec
import numpy as np
ds = gdal.Open('MyDEM.cub')
dem = ds.ReadAsArray()
do = gdal.Open('MyOrtho.cub')
or = do.ReadAsArray()
xres = gt[1]
yres = gt[5]
X = np.arange(gt[0], gt[0] + dem.shape[1]*xres, xres)
Y = np.linspace(gt[3], gt[3] + dem.shape[0]*yres, ds.RasterYSize)
X, Y = np.meshgrid(X, Y)
fig, ax = plt.subplots(figsize=(16,8), subplot_kw={'projection': '3d'})
surf = ax.plot_surface(X,Y,dem,rstride=1, cstride=1,linewidth=0, …Run Code Online (Sandbox Code Playgroud) 我正在研究一个程序并避免复杂化我需要将给定的字符串变量解析为DirectoryInfo.我想知道是否可以将字符串解析为DirectoryInfo.如果是,那怎么办呢?
谢谢
假设我有这个ID号,开头是:911125 ......
91 = 1991年(年)
11 = 11月(月)
25 =日(日)
我怎么能以这种格式得到这个:1991年11月25日?
编辑:这是我尝试过的,但我知道这是错误的:
DateTime dt = DateTime.ParseExact(dateOfBirth, "yyMMdd", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud) 我有一个快速的问题.
我有一些课程,比如Class SubA,SubB和SubC.我也有一个抽象类,让我们说父母
所以我有一个Parent对象数组,其中包含SubA,SubB和SubC的实例.
我基本上试图循环遍历数组或父母并获得SubA的特定实例.
我已经删除了以下内容,但它产生了一个类型异常:
foreach (SubA a in Parent.GetList())
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我想同时点击表单2中的按钮和表单1中的按钮.
如果有人可以为此提出任何建议,那将非常有帮助.提前致谢!
这是我的代码
表格2
public partial class Form2 : Form
{
Form1 ths;
public Form2(Form1 frm)
{
InitializeComponent();
ths = frm;
button1.Click += new EventHandler(button1_Click);
}
private void button1_Click(object sender, EventArgs e)
{
ths.button1_2= button1;
}
}
Run Code Online (Sandbox Code Playgroud)
表格1
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
new Form2(this).Show();
}
private void button1_2_Click(object sender, EventArgs e)
{
MessageBox.Show("Dot Net Perls is awesome.");
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这一行的问题是ths.button1_2= button1;因为我修改了
ths.textBox1.Text = textBox1_2.Text;但我不知道如何解决它.
所以我在WinForms解决方案中有一个vanilla DataGridView.
当您浏览DataGrid中的单元格时,最终会到达所选单元格只有一半在视图中的点.要查看它,您必须滚动.
那么这显然是我想要自动处理的问题所以问题是......
如何启用我的DataGridView作为用户选项卡自动滚动.
我搜索了一个滚动条索引值或位置值,但似乎找不到任何东西.
DataGrid http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.aspx