如何使用System.Diagnostics.PerformanceCounter跟踪进程的内存和CPU使用情况?
在Angular 2中,我正试图让文件中描述的桶工作.
官方的Angular 2风格指南讨论了使用桶来汇总和缩短import陈述.
我发现对于一些桶,我必须index在导入时指定JavaScript文件名,而不是必须的.
(修改第12行的app/app.component.ts文件)
在我的实际项目中遇到这个(在ASP.NET下运行)后,我创建了一个Plunker来演示我修改了英雄之旅以使用桶的问题.
在app/app.component,导入的基本方法是这样的:
import { HeroService } from './hero.service';
import { HeroesComponent } from './heroes.component';
import { HeroDetailComponent } from './hero-detail.component';
Run Code Online (Sandbox Code Playgroud)
但是,要使用桶,导入定义将如下所示:
import {
HeroService,
HeroesComponent,
HeroDetailComponent
} from '../app';
Run Code Online (Sandbox Code Playgroud)
该from '../app';行表示名称中index.ts包含导出/导入组件的文件:
// app/index.ts
export * from './hero-detail.component';
export * from './hero.service';
export * from './heroes.component';
Run Code Online (Sandbox Code Playgroud)
但在所有情况下,这对我都不起作用.我正确使用它的唯一方法是明确包含index文件名:
import {
HeroService,
HeroesComponent,
HeroDetailComponent
} …Run Code Online (Sandbox Code Playgroud) 我必须连接两个表,但只返回第二个表中的那些记录,其中与第一个表中的记录关联的所有记录的"值"的总和是相同的.
from p in db.TPs
join n in db.TNs
on p.Key equals n.Key
where (decimal.Parse(p.Value) == db.TNs.Where( nn => nn.Key == p.Key )
.Sum( nn=> decimal.Parse(kk.Value)))
Run Code Online (Sandbox Code Playgroud)
我正在使用Entity Framework Code-First.
当然,Linq抱怨道
LINQ to Entities无法识别方法'System.Decimal Parse(System.String)'方法
表很大,我必须减少输出,因此无法在客户端进行此转换.列类型转换也不是一种选择.
SQL查询是:
select * from TP as p
join * from TN as n on n.Key = p.Key
where p.Value = (select sum(cast(n.Value as decimal(12,2))) from TN where Key = p.Key)
Run Code Online (Sandbox Code Playgroud) 我在C#3.5的WinForm应用程序中有一个DataGridView。
AllowUserToAddNewRow属性设置为true。当用户在DataGridView中键入任何文本时,另一新行将自动添加到DataGridView。我不希望添加新行,直到对当前行执行了一些检查并且所有必要的信息都已填满为止。
示例:我有一个带有空白行的DataGridView:

当我开始输入时,添加新行还为时过早:

我想要的是仅在用户输入数量后才添加新行:

有什么方法可以在.NET Forms PropertyGrid对DisplayNameAttribute多个选定对象的属性进行排序时获得尊重.当单个对象被选择时,PropertyGrid基于DisplayNameAttribute但是当选择多个对象时,它使用实际的属性名进行排序.
以下代码演示了此问题:
static class Program
{
[STAThread]
static void Main()
{
Form myForm1 = new Form();
myForm1.Width = 820;
myForm1.Height = 340;
PropertyGrid grid1 = new PropertyGrid();
grid1.Left = 0;
grid1.Top = 0;
grid1.Width = 400;
grid1.Height = 300;
myForm1.Controls.Add(grid1);
grid1.SelectedObject = new MyObject();
PropertyGrid grid2 = new PropertyGrid();
grid2.Left = 400;
grid2.Top = 0;
grid2.Width = 400;
grid2.Height = 300;
myForm1.Controls.Add(grid2);
object[] objects = new object[] { new MyObject(), …Run Code Online (Sandbox Code Playgroud) 题
如何以编程方式询问Win7以获取所有当前活动的全局键盘快捷键列表?
脚本
在许多版本的Windows中,有所谓的"Windows Key",又名"flag","start key" 等等.
微软有一个支持文章"键盘快捷键的Windows",列出下的部分很多这样的"Microsoft自然键盘按键",以及许多其他不涉及使用"Windows键",如全球Ctrl+ C,等等.
其他键盘快捷键可以偶然发现.例如,Windows Key + Left arrow或Right arrowWin7将聚焦窗口移动到显示器周围,并且使用多个监视器从一个显示器移动到下一个显示器.
在"选项"设置中还可以找到其他键盘快捷键,例如,Left- Ctrl+ Alt+ K是" Show KeePass Window " 的默认设置.
此外,可能还有硬件特定的键盘快捷键,例如,在我的笔记本电脑上,Fn+ F8切换扬声器静音.
被盗的键盘快捷键
当Snagit运行时,我已将其配置PrtSc为我的快捷方式,但是当Visual Studio(VS)运行时,它会PrtSc从Snagit窃取.
手动发现键盘快捷键的两种耗时方法
(a)通过仅打开桌面和几个窗口并尝试各种键组合,可以发现全局键盘快捷键.
(b)在VS中,可以通过在键盘快捷键窗口中尝试各种组合来发现许多VS键盘快捷键,其中,如果已经使用了组合,VS将通知一个关于该组合的当前使用情况.
想要发现所有当前活动的全局键盘快捷键的两个原因
(a)避免像锁定计算机的Windows Logo Key + 等恼人的事故L.
(b)确定哪些钥匙目前仍可供转让.
这是我的代码片段.我需要从某个日期减去天数,但我没有得到我期望的结果:
public class TestingDates {
public static void main(String[] args) {
Date toDate=new Date();
Date fromDate=new Date();
for (int i = 0; i < 30; i++) {
fromDate.setTime(toDate.getTime() - i * 24 * 60 * 60 * 1000);
System.out.println(fromDate);
}
}
}
Run Code Online (Sandbox Code Playgroud)
而且我对这个结果感到困惑
这是输出
Fri Sep 13 12:24:50 IST 2013
Thu Sep 12 12:24:50 IST 2013
Wed Sep 11 12:24:50 IST 2013
Tue Sep 10 12:24:50 IST 2013
Mon Sep 09 12:24:50 IST 2013
Sun Sep 08 12:24:50 IST 2013 …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写可以远程更改另一个盒子上的 RealVNC 密码的 C# 应用程序。
目前有效的是,我可以从已经更改的框中提取密码,将其存储为十六进制字符串,然后将其发送到另一个框,然后以这种方式更改密码,但我需要能够更改密码或即时随机化。
我在创建正确的二进制文件以放置在注册表中时遇到问题。
我知道 VNC 密钥:
byte[] Key = { 23, 82, 107, 6, 35, 78, 88, 7 };
Run Code Online (Sandbox Code Playgroud)
所以使用上面的密钥并传递“1234”作为密码使用以下代码进行加密:
public static byte[] EncryptTextToMemory(string Data, byte[] Key)
{
try
{
MemoryStream mStream = new MemoryStream()
DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider();
desProvider.Mode = CipherMode.ECB;
desProvider.Key = Key;
CryptoStream cStream = new CryptoStream(mStream,
desProvider.CreateEncryptor(),
CryptoStreamMode.Write);
byte[] toEncrypt = new ASCIIEncoding().GetBytes(Data);
cStream.Write(toEncrypt, 0, toEncrypt.Length);
cStream.FlushFinalBlock();
byte[] ret = mStream.ToArray();
cStream.Close();
mStream.Close();
return ret;
}
catch (CryptographicException ex)
{
MessageBox.Show("A …Run Code Online (Sandbox Code Playgroud) 我想更新我的数据库的一行.
这是一台ATM机,您首先输入一个卡帐号(它保存此号码以用于不同的表格).然后输入存款金额.问题是它正在更新每一行而不是与该卡相关联的单行.
这是代码:
sqlCommandDeposit.Connection.Open();
sqlCommandDeposit.Parameters["@cardNumber"].Value = Class1.cardNumber;
using (SqlDataReader reader = sqlCommandDeposit.ExecuteReader())
{
if (reader.Read())
{
balanceDB = decimal.Parse(reader["balance"].ToString());
}
}
}
finally
{
sqlCommandDeposit.Connection.Close();
}
decimal depositAmm = Convert.ToDecimal(textDeposit.Text);
balanceDB = balanceDB + depositAmm;
try
{
sqlDepositupdate.Connection.Open();
sqlDepositupdate.Parameters["@cardNumber"].Value = Class1.cardNumber;
sqlDepositupdate.Parameters["@balanceDB"].Value = balanceDB;
sqlDepositupdate.ExecuteNonQuery();
MessageBox.Show("£" + depositAmm + " Successfully Deposited and Deposit Number Saved");
MessageBox.Show("you have " + "£" + balanceDB + " available");
buttonClear.Enabled = true;
buttonExit.Enabled = true;
buttonMainMenu.Enabled = true;
}
catch (Exception ex)
{ …Run Code Online (Sandbox Code Playgroud)