我有一个包含许多不同类型图像的文件夹(png,jpg,jpeg,bmp,pdf),我想使用imagemagick将它们全部转换为png(例如).
是否有一个命令可以执行此操作?如果没有,我该怎么办呢?
谢谢.
DateTime.ToLocalTime Linq到EF不支持.
有什么选择?我的想法已经不多了.
我正在创建一个包含多个记录的flowdocument.每条记录在顶部包含两个表,然后是一些我从数据库中提取的富文本.附加富文本的代码位于下方(cp.Comments包含rtf标记文本).
Dim tr As TextRange
Dim arr() As Byte
Using ms As New System.IO.MemoryStream
arr = (New System.Text.UTF8Encoding).GetBytes(cp.Comments)
ms.Write(arr, 0, arr.Length)
ms.Seek(0, IO.SeekOrigin.Begin)
tr = New TextRange(fd.ContentEnd, fd.ContentEnd) 'add to end
tr.Load(ms, DataFormats.Rtf)
End Using
Run Code Online (Sandbox Code Playgroud)
flowdocument正确呈现第一个记录,但所有后续记录都在第一个和第二个表之间中断.最奇怪的是我在导入RTF 之前渲染了2个表,但RTF无论如何都会以某种方式影响表之间的间距.
fd = new FlowDocument
for each cp in SomeCollection
fdtemp = New FlowDocument
CreateFirstTable(cp, fdtemp)
CreateSecondTable(cp, fdtemp)
AddRTF(cp, fdtemp)
FlowDocumentUtils.AddDocument(fdtemp, fd)
next
Run Code Online (Sandbox Code Playgroud)
问题不是集合的第一个元素中的数据 - 如果我告诉渲染跳过第一个记录的渲染,那么第二个记录渲染正常,但其余的包含额外的间距.
注意:问题肯定与富文本插入有关 - 如果我注释掉AddRTF调用,那么所有表都被正确地呈现在一起.(表边距都设置为(0,0,0,0))
有没有人见过这个?
在C#中,下面的差异是否显着?
int a, b;
double result;
result = (double)a / b;
result = a / (double)b;
result = (double)a / (double)b;
Run Code Online (Sandbox Code Playgroud)
你用哪一个?
当在编译时不知道这些术语时,是否建议使用StartsWith搜索多个术语中的每个术语?
我想象这样的事情:
var searchTerms = "John Doe".Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
var query = session.Query<Person, PersonIndex>()
.Where(x => x.FirstName.StartsWithAnyOf(searchTerms) ||
x.LastName.StartsWithAnyOf(searchTerms));
Run Code Online (Sandbox Code Playgroud)
查询将相当于:
var query = session.Query<Person, PersonIndex>()
.Where(x => x.FirstName.Starts(searchTerms[0]) ||
x.LastName.StartsWith(searchTerms[0]) ||
x.FirstName.Starts(searchTerms[1]) ||
x.LastName.StartsWith(searchTerms[1]));
Run Code Online (Sandbox Code Playgroud)
是在运行时(PredicateBuilder或类似)构建LINQ查询的答案吗?
我的页面上有一些asp.NET表单,包括下拉列表和日历.我遇到的问题是NULL,所以我尝试在构造函数中放入一个断点.它在页面首次加载之前停在断点处.然后我走过去,页面加载了.然后我在日历中选择了一个日期,它在我的断点处停了下来.我没有使用任何选择的日期事件.实际上,我的页面仅在单击按钮时使用该事件.但不知何故,看起来我的构造函数在所有事件中都被调用.
这是真的?这怎么可能是真的?是否在每个事件触发时创建了一个全新的页面实例?
假设我们有一个非常标准的表单,带有文本框和按钮(为简单起见).您想要处理Click事件并根据用户的输入执行一些操作.
我想知道,重要的是,你何时为代码隐藏中的Click事件连接一个事件处理程序?如果是的话,放在哪里的最佳位置?页面加载?页面初始化?我已经尝试了两个地方,但没有发现任何差异.或者这只是程序员的个人偏好?我已经在互联网上搜索了几次,但没有找到任何满意的答案.
我知道当实际方法执行时,只是不确定接线部分.
我正在玩一些C#Winforms/WPF代码,偶然发现了一些奇怪的东西.假设我有这样的代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DoSomething();
// maybe something more if everything went ok
}
}
Run Code Online (Sandbox Code Playgroud)
令我困惑的是,我不能简单地在构造函数完成其工作之前从方法DoSomething关闭应用程序.如果在执行过程中出现任何问题DoSomething,我需要立即关闭应用程序,但它只是继续运行,执行部件// maybe something more...然后关闭,但这对我来说太迟了.
我必须在构造函数本身中使用以下内容放置关闭表单的代码return;然后它可以工作,但我真的没有找到一个可接受的解决方案.我试图将这样的验证逻辑从构造函数移动到我的方法.
我尝试过类似的东西
public void DoSomething()
{
Close();
}
Run Code Online (Sandbox Code Playgroud)
要么
public void DoSomething()
{
Application.Current.Shutdown();
}
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用.是的,两个代码都会关闭应用程序,但仅在完成构造函数代码之后.
Why我需要这样的东西吗?好吧,因为在启动时我需要检查各种事情,比如连接和硬件的可用性,验证用户等,如果有任何失败,就没有必要执行更多的代码.
使用Winforms和WPF(因此标签)尝试相同的原理,工作原理相同.
任何人都可以提供解释或解决方案吗?
罗伯特·C·马丁在他关于清洁建筑的一次谈话中公开批评了当今相当标准的做事方式. Robert C. Martin - 清洁建筑与设计
我理解的standard way是这样的:
solution
- UI project
- Models
- Views
- Controllers
- Assets
- Logic project
- Data project
Run Code Online (Sandbox Code Playgroud)
Martin在这里说,当你查看它的顶级目录结构时,应用程序应该立即显示它的用途......我想知道,任何人都可以提供这样的目录结构的例子,例如在使用MVVM模式作为传递机制时吗?如何按照马丁描述的方式构建他的应用程序?
我正在尝试dgvEmployees从我的表中检索记录到我的数据gridview tblEmployees.我不确定有什么问题,可能是因为语法错误?但是在使用MS Visual C#2010 Express(仅限WinForms)之前,代码已经运行.我目前正在使用MS Visual Studio(ASP.NET - C#)创建一个包含winforms的网页.这是我的代码:
SqlConnection sConn;
SqlDataAdapter daEmp;
DataSet dsEmp;
const string sStr = "Server = MYSERVER\\SQLEXPRESS; Database = EMPLOYEES; Integrated Security = SSPI";
protected void Page_Load(object sender, EventArgs e)
{
sConn = new SqlConnection(sStr);
daEmp = new SqlDataAdapter("Select * from tblEmployees", sConn);
dsEmp = new DataSet();
daEmp.Fill(dsEmp, "tblEmployees");
dsEmp.Tables["tblEmployees"].PrimaryKey = new DataColumn[] { dsEmp.Tables["tblEmployees"].Columns["EmployeeID"] };
dgvEmployees.DataSource = dsEmp.Tables["tblEmployees"];
}
Run Code Online (Sandbox Code Playgroud)
这是此行的错误消息 (daEmp.Fill(dsEmp, "tblEmployees");
Invalid object name 'tblEmployees'
Run Code Online (Sandbox Code Playgroud)
请帮忙.谢谢!
c# ×8
asp.net ×2
linq ×2
sql ×2
wpf ×2
architecture ×1
casting ×1
datetime ×1
flowdocument ×1
imagemagick ×1
mvvm ×1
ravendb ×1
richtext ×1
sql-server ×1
t-sql ×1
vb.net ×1
webforms ×1
winforms ×1