我希望在字符串中包含大写字符或下划线时添加空格.
我该怎么做呢?
例1
输入
ThisIsAnInputString
Run Code Online (Sandbox Code Playgroud)
输出(结果)
This Is An Input String
Run Code Online (Sandbox Code Playgroud)
例2
输入
This_Is_An_Input_String
Run Code Online (Sandbox Code Playgroud)
输出(结果)
This Is An Input String
Run Code Online (Sandbox Code Playgroud) 我有一个关于C#和Windows API的一般问题:
我的任务是从文档管理系统(DMS)加载文件,并从该文件创建一个字节数组.从DMS的开发人员那里得到了一个dll,提供了这样的方法:
loadFile(int DocId, string PathToSaveFile);
Run Code Online (Sandbox Code Playgroud)
不幸的是,给定的dll没有为我提供一种方法来将所请求的文件作为字节数组或任何类型的流传递.现在我的问题是,C#是否可以创建某种虚拟路径,而这种路径在二级存储上实际上并不存在.相反,写入此路径的所有位和字节都会在流中转发给我?我的目的是提高性能,因为我不必将数据写入硬盘.
我已经搜索了很多,但实际上不知道我必须寻找的关键字.也许有人可以给我一个提示,或者只是告诉我根本不可能.
以下是我的代码
DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Users\Shahul\Documents\Visual Studio 2010\Projects\TreeView\TreeView\bin\FileExplorer");
private void Form1_Load(object sender, EventArgs e)
{
if (Directory.Exists("FileExplorer"))
{
try
{
DirectoryInfo[] directories = directoryInfo.GetDirectories();
foreach (FileInfo file in directoryInfo.GetFiles())
{
if (file.Exists)
{
TreeNode nodes = treeView.Nodes[0].Nodes.Add(file.Name);
}
}
if (directories.Length > 0)
{
foreach (DirectoryInfo directory in directories)
{
TreeNode node = treeView.Nodes[0].Nodes.Add(directory.Name);
node.ImageIndex = node.SelectedImageIndex = 0;
foreach (FileInfo file in directory.GetFiles())
{
if (file.Exists)
{
TreeNode nodes = treeView.Nodes[0].Nodes[node.Index].Nodes.Add(file.Name);
}
}
}
}
}
catch (Exception ex) …Run Code Online (Sandbox Code Playgroud) 请帮助我如何将页面从Apex的现有应用程序复制到Apex应用程序的另一个工作空间.
该ReportProgress方法包含2个参数.一个是int,一个是用户状态.我将一些字符串参数传递给方法进行一些处理,并且不需要int.
有没有办法省略传递第一个int而没有冗余来调用报告进度方法ReportProgress([randomInt], "MyString")?仅用于清洁代码.
我将使用显示我的C#WinForms应用程序的一部分PrintDocument,这几乎完成了,但是我的打印机有问题。我使用以下代码捕获表单的图像,然后打印该图像,最后使用a PrintPreviewDialog显示打印预览:
PrintDocument doc = new PrintDocument();
doc.PrintPage += doc_PrintPage;
doc.Print();
printPreviewDialog1.Document = doc;
printPreviewDialog1.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
这是doc_PrintPage功能:
Bitmap bmp = new Bitmap(tabControl1.Width, tabControl1.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
tabControl1.DrawToBitmap(bmp, new Rectangle(0, 0, tabControl1.Width, tabControl1.Height));
e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
e.Graphics.DrawImage((Image)bmp, 0, 0);
Run Code Online (Sandbox Code Playgroud)
当doc.print()函数被调用时,微软的OneNote程序打开,显示我的印刷形式,并且还PrintPreviewDialog控制打开包含我的预览的新形式。
我将进行静默打印,这样就不会打开任何打印机程序(例如设置为默认打印机的OneNote)或没有打开物理打印机(我认为如果我的用户连接了物理打印机,则该页面实际上会被打印!完全不是我想要的)。我只想显示打印预览而不进行任何打印,是否可以通过任何方式将文件打印到XPS(虚拟打印机文件?),或者可以通过其他任何方式都不执行实际打印?
在.net C中第一次使用二进制格式#
MSDN的代码是这样的:
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.lvl", FileMode.Create, FileAccess.Write,FileShare.None);
formatter.Serialize(stream, Globals.CurrentLevel);
stream.Close();
Run Code Online (Sandbox Code Playgroud)
只是想知道我应该IFormatter在我的班级中存储一个字段并一遍又一遍地使用它,还是我应该如上所述并在每次保存/加载某些东西时实例化一个新的?
我注意到它不是IDisposable.
我在 WPF 应用程序上使用 DateTimePicker。我想将 .Text 属性绑定到 SelectedDate,所以我使用这样的绑定:
<DatePicker x:Name="DateTimePicker_Date"
Text="{Binding dDate, Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged,
TargetNullValue='',
ValidatesOnDataErrors=True}"
TabIndex="3"
Grid.Column="1" />
Run Code Online (Sandbox Code Playgroud)
我的问题是我使用的是欧洲文化,所以:DAY/MONTH/YEAR 而不是 MONTH/DAY/YEAR,所以如果我输入 : 14/02/2013,我有一个验证错误!
我该如何解决这个问题?
Datastax手册说我可以使用"USING CONSISTENCY"语法更改一致性级别. http://www.datastax.com/docs/1.1/references/cql/cql_data_types#specifying-consistency-level
但是,Cassandra cqlsh报告使用一致性的Bad请求.
cqlsh:db_simple> show version
[cqlsh 2.3.0 | Cassandra 1.2.3 | CQL spec 3.0.0 | Thrift protocol 19.35.0]
cqlsh:db_simple> SELECT * FROM test WHERE a=1;
a | b
---+---------
1 | example
cqlsh:db_simple> SELECT * FROM test USING CONSISTENCY ONE WHERE a=1;
Bad Request: line 1:19 missing EOF at 'USING'
Run Code Online (Sandbox Code Playgroud)
我错过了什么?谢谢.
我想动态地向类添加属性并为它们设置值.有人可以指出我正确的方向一些教程或文章,甚至更好地提供一个例子.
我有一个在foreach循环中调用的基类.在这个类中,我需要添加多达30个属性并为它们设置值.
这是调用类的方法.
foreach (Class name in this.list)
{
ClassBeingCalled class = new ClassBeingCalled (name);
class.Populate();
this.newlist.Add(class);
}
Run Code Online (Sandbox Code Playgroud)
现在在被调用的类中,我需要动态创建30个左右的属性,这些属性将在该类的"Populate"方法中设置.
像这样......
foreach (PropertyToAssign count2 in listofproperties)
{
string name = "_nameofproperty" + count2.name
base.GetType().GetField(name, BindingFlags.NonPublic |
BindingFlags.Instance).SetValue(this, count2);
}
Run Code Online (Sandbox Code Playgroud)