我有以下类定义:
public class MyData
{
public DateTime Expiration { get; private set; }
public string Name { get; private set; }
public double Price { get; private set; }
public double Quantity { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
我需要加入以下列表:
IEnumerable<int> years= Enumerable.Range(1, 20);
Run Code Online (Sandbox Code Playgroud)
结果将最终显示在网格中,y轴表示Name字段,x轴表示年份.每个单元将汇总Quantity*Price为Name和一年.
我目前正在努力学习语法.我开始加入这些年的实例MyData并分组如下:
var myData = GetData();
var query = from data in myData
join year in years on (data.Expiration.Year - DateTime.Now.Year) + 1 equals year
group data …Run Code Online (Sandbox Code Playgroud) 在这里我需要创建一个DataTable,但它没有返回id.There没有错误.实际上这里我提供了一个电子邮件地址(epost).我需要从数据库返回id.
编码部分在这里.
public string GetAllMails()
{
DataConnection dc = new DataConnection();
string e="";
int uid=-1,sid=0;
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("uid");
dt.Columns.Add("email");
Microsoft.Office.Interop.Outlook.Application oApp;
Microsoft.Office.Interop.Outlook._NameSpace oNS;
Microsoft.Office.Interop.Outlook.MAPIFolder oFolder;
Microsoft.Office.Interop.Outlook._Explorer oExp;
oApp = new Microsoft.Office.Interop.Outlook.Application();
oNS = (Microsoft.Office.Interop.Outlook._NameSpace)oApp.GetNamespace("MAPI");
oFolder = oNS.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
oExp = oFolder.GetExplorer(false);
oNS.Logon(Missing.Value, Missing.Value, false, true);
Microsoft.Office.Interop.Outlook.Items items = oFolder.Items;
SqlConnection conn = dc.SqlConnection;
if (conn.State != ConnectionState.Open) conn.Open();
SqlCommand cmd = new SqlCommand("GetDetailsByEmail", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter();
foreach (Microsoft.Office.Interop.Outlook.MailItem mail in items) …Run Code Online (Sandbox Code Playgroud) 我正在尝试从文本框中获取用户定义的十进制值,将其转换为十六进制(带有0x)前缀,然后将该值存储为整数。我目前停留在获取0x前缀的问题上,但是也许有一种更合适的方法可以实现此目的。
string decimalString = textBox1.Text;
//Convert decimalString string into an int
int decimalNumber = int.Parse(decimalString);
//Convert decimalNumber to a hex string
string hexString = decimalNumber.ToString("X");
Console.Write(decimalNumber);
//TextBox Input: 151
//Console Output: 97
//Desired Output: 0x97 (as a string, but would like to assign to int if possible).
int finalDesiredOutput = 0x97;
Run Code Online (Sandbox Code Playgroud)
希望我能很好地解释这一点。
在此项目中,我试图用0-2600(用户输入的值)之间的十进制值替换标头中的第13个字节。用户输入十进制数而不是十六进制值(即2600,而不是A28)更容易。