我想使用C#.NET将目录从一个位置移动到另一个位置.我使用Directory.Move甚至DirectoryInfo(使用MoveTo)这个简单的方法:
// source is: "C:\Songs\Elvis my Man"
// newLocation is: "C:\Songs\Elvis"
try
{
// Previous command was: Directory.Move(source, newLocation);
DirectoryInfo dir = new DirectoryInfo(source);
dir.MoveTo(newLocation);
}
catch (Exception e)
{
Console.WriteLine("Error: "+ e.Message);
}
Run Code Online (Sandbox Code Playgroud)
但是正在进行的操作(对于这两种情况)都是将文件夹名称从"source"重命名为"newLocation"
我的期望是什么?那个文件夹"Elvis my man"现在将出现在"Elvis"文件夹中.
发生了什么事?"我的男人猫王"改为"猫王"(改名).如果目录"Elvis"已经存在,则无法将其更改为"Elvis"(因为他不能创建重复的名称),因此我得到一个例外.
我究竟做错了什么??
非常感谢!!!
当我想基于删除整行时,我遇到了问题id_curse.这是我的代码,这是我得到的错误:
Oracle.DataAccess.dll中发生了未处理的"Oracle.DataAccess.Client.OracleException"类型异常.
附加信息:
外部组件引发的异常.
你能帮我解决这个问题吗?我认为SQL命令中的代码对此不利.
private void button3_Click(object sender, EventArgs e)
{
Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection(provider);
Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand();
conn.Open();
cmd = new Oracle.DataAccess.Client.OracleCommand(" DELETE * from CURSE WHERE ID_CURSA = '" + textBox1.Text + "'", conn);
cmd.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud) 问候Overflowers,
我正在开发一个允许用户生成自定义报告的应用程序,我有一个场景,我需要从枚举值列表中生成Linq Or子句.我遇到的问题是我看不到生成Or子句的优雅方式.
例如:
//Enumeration of possible 'OR' conditions
public enum Conditions
{
ByAlpha,
ByBeta,
ByGamma
}
//'Entity' I'm querying against.
class ResultObject
{
public bool AlphaValue { get; set; }
public bool BetaValue { get; set; }
public bool GammaValue { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
//Create list of desired conditions.
//Basically I want this to mimic the query,
// "Show me all of the …Run Code Online (Sandbox Code Playgroud) 如何动态检查框而不触发检查更改功能?我有20个动态创建的复选框,我有一个下拉列表,用于确定要检查的复选框数.
如果我选中3并单击第6个复选框,则应选中复选框9,7和8.在此过程中,我不想触发checkchanged功能.
CheckBox cb1 = (CheckBox)sender;
selectedbox = int.Parse(cb1.Name);
for (int i = 1; i < selectedquantity; i++)
{
premiumticket[selectedbox].Checked = true;
//here check changed firing i dont want that
selectedbox++;
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个 Windows Phone 8.1 应用程序,用于发现附近的低功耗蓝牙设备。
foreach (DeviceInformation device in devices)
{
BluetoothLEDevice bleDevice = await BluetoothLEDevice.FromIdAsync(device.Id);
}
Run Code Online (Sandbox Code Playgroud)
一切正常,但该bleDevice.BluetoothAddress属性包含一个ulong类型,而我需要一个字符串类型,格式类似于 Mac 地址。
例子:
bleDevice.BluetoothAddress: 254682828386071 (ulong)
所需的 Mac 地址: D1:B4:EC:14:29:A8(字符串)(这是我需要它的示例,而不是设备的实际 Mac 地址)
有没有办法将 long 转换为 Mac 地址?或者有没有另一种方法可以直接发现Mac地址而无需转换?我知道有一个名为的工具In The HAnd - 32feet可以帮助我,但目前不支持 Windows Phone 8.1。
我一直在开发这个小型控制台应用程序来阅读邮箱。它工作正常,但在阅读完邮件后,我希望它将它们移动到“已删除的邮件”文件夹中。我发现了与此相关的其他问题,但似乎没有解决它。我没有收到任何错误,并且该Seen标志运行完美。如有疑问,请随时发表评论。
DateTimeOffset test = DateTime.Now;
using (var client = new ImapClient())
{
client.ServerCertificateValidationCallback = (s, c, h, e) => true;
client.Connect("Imap.outlook.com", 993, true);
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate("Email@mail.com", "password");
var inbox = client.Inbox;
inbox.Open(FolderAccess.ReadWrite);
Console.WriteLine("Total messages: {0}", inbox.Count);
Console.WriteLine("Recent messages: {0}", inbox.Recent);
for (int i = 0; i < inbox.Count; i++)
{
var message = inbox.GetMessage(i);
Console.OutputEncoding = System.Text.Encoding.ASCII;
test = message.Date;
inbox.AddFlags(i , MessageFlags.Seen, true);
inbox.AddFlags(i, MessageFlags.Deleted, true); // Doesn't do anything.
Console.WriteLine("Emne: {0}", message.Subject);
Console.WriteLine("Fra: {0}", message.From); …Run Code Online (Sandbox Code Playgroud) 在下面,我在我的代码中得到一个var类型变量:
var FormID = from n in dtEnDate.AsEnumerable()
where n.Field<int>("Tax_Setup_UID") ==
Convert.ToInt32(item.GetDataKeyValue("Tax_Setup_UID"))
select n.Field<string>("FormID");
Run Code Online (Sandbox Code Playgroud)
这里给了我一个蠢货.现在我想将这个var类型变量转换为int以供下次使用,如果我尝试不转换它会给我一个错误.但我无法做到,请有人帮助我.
我正在编写一个应用程序,需要在应用程序运行时存储程序设置(输入目录,输出目录等).我希望程序能够加载和使用(基于选项)生产环境和测试环境.
我会像这样设置结构:
Class AppSettings
{
struct prodAppSettings
{
var settingName;
var settingName2;
var settingName3;
}
struct testAppSettings
{
var settingName;
var settingName2;
var settingName3;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我会在我的主类中根据用户想要的环境选项加载适当的设置.
AppSettings类将处理设置的加载(应用程序将与Web服务连接以进行设置,或者在网络连接不可用时,可以使用存储上次已知良好设置的XML文件).我不太熟悉结构,我想熟悉它们,所以这个项目可能是一个很好的地方.
编辑
澄清了一些事情.
我试图调用嵌套列表操作.我有两个不同的列表,但Name是它们的公共变量.我有两个列表,这是我正在尝试的:
selectedImage
public int Id { get; set; }
public int X { get; set; }
public int Y { get; set; }
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)generatedEyeDistance
public string Name { get; set; }
public double eyeDistance { get; set; }
Run Code Online (Sandbox Code Playgroud)我想调用generetedEyeDistance的eyeDistance值,但Name应该相同.我试过了 :
var asdasf = generatedEyeDistance.Where(f=> (f.Name) == (selectedImage.Select(name => name.Name))).ToList();
Run Code Online (Sandbox Code Playgroud)
但这会产生以下错误:
Operator '==' cannot be applied to operands of type 'string' and 'System.Collections.Generic.IEnumerable<string>'
我的方法看起来也错了.任何人都可以帮我解决这个问题吗?