我想用一个对象和特定顺序的对象列表初始化一个列表.目前,我正在做:
List<MyObject> list = new List<MyObject>();
list.Add(object1); // object1 is type MyObject
list.AddRange(listOfObjects); // listOfObjects is type List<MyObject>
Run Code Online (Sandbox Code Playgroud)
我希望将其整合到初始化语句中(当然语法错误):
List<MyObject> newList = new List<MyObject>() { object1, listOfObjects };
Run Code Online (Sandbox Code Playgroud)
有没有办法简洁地做到这一点?
我正在尝试使用带有jquery的react-bootstrap文件输入fileupload().使用直接jquery,我会将$('#fileUpload').prop('files')文件传递给fileupload调用.但是,我不知道如何使用react-bootstrap正确获取文件.
<Input type='file' label='Upload' accept='.txt' ref='fileUpload' buttonAfter={uploadFileButton}/>
Run Code Online (Sandbox Code Playgroud) 我正在尝试将一组react-bootstrap按钮组成一个单选按钮组.我可以使用带有<input type="radio">元素的bootstrap轻松完成此操作,但无法弄清楚如何使用react-bootstrap执行此操作.以下代码允许用户选择每个按钮,而不是只选择一个按钮.
JS:
const operationButtons = (
<ButtonGroup>
<Button active>Radio 1</Button>
<Button>Radio 2</Button>
</ButtonGroup>
);
React.render(operationButtons, document.getElementById('operationButtonsDiv'));
Run Code Online (Sandbox Code Playgroud)
HTML:
<div name="operationButtonsDiv" id="operationButtonsDiv" data-toggle="buttons"/>
Run Code Online (Sandbox Code Playgroud) Microsoft Word首次加载时,不会触发NewDocument和DocumentOpen事件.当Word的一个实例已经打开并且打开一个新的或现有的文档时,这些事件就会被激活.
我看到的建议是处理DocumentChange事件(在Word加载时始终触发)而不是其他两个事件.
我的问题是我该如何解决这个问题?DocumentChange事件没有任何参数,那么我怎么知道刚刚打开文档(新文档还是现有文档)?
另外,我已经在DocumentChange事件中有逻辑,并且对新文档和现有文档的处理是不同的,所以我不能只将所有代码都放入事件中.
private void ThisAddIn_Startup(object sender, System.EventArgs a)
{
this.Application.DocumentChange += new ApplicationEvents4_DocumentChangeEventHandler(Application_DocumentChange);
}
private void Application_DocumentChange()
{
// How do I handle NewDocument or DocumentOpen?
}
Run Code Online (Sandbox Code Playgroud) 我正在与Word Interop一起复制整个文档以执行一些逻辑。完成后,我想清除MS Office剪贴板。这似乎是一个简单的任务……但是我不知道该怎么做。
var that = document.ActiveWindow.Selection;
that.WholeStory();
that.Copy();
// Do some logic with the selection
...
// Now I want to clear the MS Office clipboard.
Run Code Online (Sandbox Code Playgroud)
注意1: Clipboard.Clear()仅清除系统范围的剪贴板,而不清除MS Office的剪贴板。
注意2:我意识到复制文档不是使用Document对象的最佳方法,一旦找出了这个问题,我将致力于更好的逻辑。
我正在使用它们的整数id排序对象列表OrderBy.我有一些具有相同id的对象,需要排序才能保持稳定.
根据微软的文档,并行化OrderBy并不稳定,但有一种实现方法可以使其稳定.但是,我找不到这样的例子.
var list = new List<pair>() { new pair("a", 1), new pair("b", 1), new pair("c", 2), new pair("d", 3), new pair("e", 4) };
var newList = list.AsParallel().WithDegreeOfParallelism(4).OrderBy<pair, int>(p => p.order);
private class pair {
private String name;
public int order;
public pair (String name, int order) {
this.name = name;
this.order = order;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个使用 VSTO 和互操作的 Microsoft Word 插件。如果DocumentOpen为已经打开的文档触发事件,我的代码就会出现问题。我已经能够通过打开文档 doc1、打开另一个文档 doc2,然后再次尝试打开 doc1 来一致地复制这一点。
Doc1 显然已经打开,但再次为 doc1 触发 DocumentOpen 事件。这是一个预期的设计,如果是,是否有一种简单的方法可以判断是否正在为已打开的文档触发事件?
private void ThisAddIn_Startup(object sender, System.EventArgs a)
{
try
{
this.Application.DocumentOpen +=
new MSWord.ApplicationEvents4_DocumentOpenEventHandler(Application_DocumentOpen);
}
}
private void Application_DocumentOpen(MSWord.Document document)
{
HandleOpenedDocument(document);
}
Run Code Online (Sandbox Code Playgroud) 我正在将Office Interop与MS Word(Microsoft.Office.Interop.Word)和Microsoft.Office.Tools.Word一起使用,以修改Word加载项中的Word文档。我有一个包含要编辑的特定文本的范围。
当我更新Text对象时,将重置Range的段落格式,特别是Alignment和LeftIndent。我可以将Alignment和LeftIndent保存在临时变量中并进行重置,但这并不理想。有没有一种方法可以阻止ParagraphFormat重置,如果没有,是否还有其他我可能忘记保存的属性(我刚刚意识到段落间距之前和之后也都会重置...)。
Microsoft.Office.Interop.Word.Range range = myObject.range;
var oldAlignment = range.ParagraphFormat.Alignment;
var oldLeftIndent = range.ParagraphFormat.LeftIndent;
range.Text = "new text";
range.ParagraphFormat.Alignment = oldAlignment;
range.ParagraphFormat.LeftIndent = oldLeftIndent;
Run Code Online (Sandbox Code Playgroud)
编辑:我只是尝试将ParagraphFormat保存为临时变量,然后使用该变量重置格式,但是temp变量也会丢失其格式。
oldParagraphFormat = range.ParagraphFormat;
range.Text = "new text";
range.ParagraphFormat = oldParagraphFormat; // oldParagraphFormat's objects are reset
Run Code Online (Sandbox Code Playgroud)