我有DateTable.需要在teplate文档中插入它而不是某些字符集.
我可以用这种方式替换文本到文本(很多missingObj以避免错误):
using Word = Microsoft.Office.Interop.Word;
Word._Application application;
Word._Document document;
Object missingObj = System.Reflection.Missing.Value;
Object trueObj = true;
Object falseObj = false;
private void create_button1_Click(object sender, EventArgs e) {
application = new Word.Application();
Object templatePathObj;
templatePathObj = "template.dot";
try {
document = application.Documents.Add(ref templatePathObj,
ref missingObj, ref missingObj, ref missingObj);
}
catch (Exception error) {
document.Close(ref falseObj, ref missingObj, ref missingObj);
application.Quit(ref missingObj, ref missingObj, ref missingObj);
document = null;
application = null;
throw error;
}
object strToFindObj …Run Code Online (Sandbox Code Playgroud) 我需要使用存储在此服务器中的数据调试本地 SQL Server 上的存储过程。
我的设备上有:
调试器已从 SSMS 17.9 及更新版本中删除。
尝试 1。调试使用 SSMS 2014。我收到以下错误消息:
无法启动程序“MSSQL:://localhost/MyDB/sys/=0”。
没有参数的存储过程也有同样的错误。
尝试2。使用 Visual Studio 进行调试。
我可以执行存储过程,甚至可以通过 VS 在 SQL 服务器端更改它们。
但是当我尝试调试时出现类似的错误:
无法启动调试器。生成了一个异常:'数据为空。不能对 Null 值调用此方法或属性。
无法启动程序“MSSQL:://localhost/?/sys/=0”。不支持操作。未知错误:0x80004005。
那么我应该如何调试 Microsoft SQL Server 2017 中的存储过程?
还是我做错了什么?
我正在使用此代码来替换索引中的所有找到的值:
int i = 0;
input = "FGS1=(B+A*10)+A*10+(C*10.5)";
Regex r = new Regex("([A-Z][A-Z\\d]*)");
bool f = false;
MatchEvaluator me = delegate(Match m)
{
f = true;
i++;
return "i" + i.ToString();
};
do { f = false; input = r.Replace(input, me); } while (f);
//expected result: input == "i1=(i2+i3*10)+i4*10+(i5*10.5)"
Run Code Online (Sandbox Code Playgroud)
但我必须以更复杂的方式做到这一点,因为我必须用已发现的价值做些什么.例如:
MatchEvaluator me = delegate(Match m)
{
foundValue = /*getting value*/;
if (foundValue = "A") i--;
f = true;
i++;
return "i" + i.ToString();
};
Run Code Online (Sandbox Code Playgroud)
此代码的预期结果: "i1=(i2+i2*10)+i2*10+(i3*10.5)"
我在Visual Studio 2012中工作.我只是尝试使用指向相同结构的指针创建结构:
namespace PLT_1_lab {
class Program {
struct tNode {
string oper;
int level;
tNode *left;
tNode *right;
}
}
}
Run Code Online (Sandbox Code Playgroud)
并在*行中我得到错误(我已经翻译了VS所以它看起来有点不同):
无法获取地址,定义声明指向受控类型的指针的大小("PLT_1_lab.Program.tNote")
现在我用这个:
var activity = (Activity)Forms.Context;
Run Code Online (Sandbox Code Playgroud)
但我应该用什么来代替呢?
根据此处接受的答案,我应该使用Android.App.Application.Context:Xamarin.Forms: Forms.Context is obsolete
但我无法将其投射到Activity.
这里有什么解决方法吗?
UPD:我需要它来关闭库中的应用程序。
我有字符串:IDLIST, ID NAME;.需要把它变成列表:{"IDLIST", ",", "ID", "NAME", ";"}.
很明显如何通过自由空间切割字符串,但是如何处理标点符号呢?
单词可以是任何字母集.标点符号也可以是任意标记.
我需要使用信号量并行完成一些任务.我试试这个:
Semaphore sema = new Semaphore(2,2);
Thread[] Threads = new Thread[5];
for (int k = 0; k < 5; k++) {
sema.WaitOne();
Console.WriteLine((k + 1) + " started");
Threads[k] = new Thread(ThreadMethod1);
Threads[k].Start(k + 1);
sema.Release();
}
static void ThreadMethod1(object id) {
Thread.Sleep(50);
Console.WriteLine(id + " completed");
}
Run Code Online (Sandbox Code Playgroud)
输出如下:
1 started
2 started
3 started
4 started
5 started
1 completed
2 completed
4 completed
3 completed
5 completed
Run Code Online (Sandbox Code Playgroud)
是不是信号量应该让只有2个线程运行?我不明白或做错了什么?
我需要做一些要求读取线程中arrey的每个元素的东西.每个线程只需要阅读元素[i]做i++.我需要锁i++吗?
我在某处读到带有双变量的异步操作需要锁定以防止意外结果.我怎么能对另一个操作说同样的话?以下是有问题的操作列表?
有关更多细节.我有全局变量:
public static int[] IntArray;
public static int ArrayPointer = 0;
Run Code Online (Sandbox Code Playgroud)
我以这种方式在池中启动一些线程:
ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadMethod));
Run Code Online (Sandbox Code Playgroud)
像这样:
static void ThreadMethod() {
//loop until ArrayPointer is too big
Console.WriteLine(IntArray[ArrayPointer]);
ArrayPointer++;
//end of loop
}
Run Code Online (Sandbox Code Playgroud) 这似乎是一项微不足道的任务,但我找不到怎么做(而且不知道该怎么称呼它).
例.我需要的state是实际上只是字符串列表的类.它必须如此工作:
state s = new state();
s.Add("John Madden");
//s[0] == "John Madden"
Run Code Online (Sandbox Code Playgroud)
我需要向这个类添加一些方法.
我需要从 dataTable 添加新的工作表。对于这个任务,我使用 ClosedXML:
workbook.Worksheets.Add(dataTable);
workbook.Save();
workbook = new XLWorkbook(filePath); //reload file to avoid exception at next saving
Run Code Online (Sandbox Code Playgroud)
我的进程使用了 128 Mb 的内存,但在Workbook.Save()此数字增加到 382 Mb 之后。添加下一个工作表后,内存使用量从 464 Mb 上升到 619 Mb。但此时的实际文件为 1.6 Mb。
这可能是什么原因?
我有一个使用ReactiveCommand的viewmodel:
public ReactiveCommand<Unit, Unit> Command { get; }
public MyViewModel()
{
Command = ReactiveCommand<Unit, Unit>.Create(MyMethod);
}
Run Code Online (Sandbox Code Playgroud)
并将其绑定到一个按钮:
<DataTemplate>
<Button Content="Press me"
Command="{Binding Command, Mode=OneTime}"
Margin="0,0,5,0"/>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
我将视图绑定到viewmodel这样(在我的情况下最方便的方式):
myView.DataContext = new MyViewModel();
Run Code Online (Sandbox Code Playgroud)
当我按下MyMethod按钮时,在执行MyMethod中的最后一个操作符后,我的应用程序崩溃了:
InvalidOperationException:调用线程无法访问此对象,因为另一个线程拥有它.
StackTrace:
at System.Windows.Threading.Dispatcher.VerifyAccess()
at System.Windows.DependencyObject.GetValue(DependencyProperty dp)
at System.Windows.Controls.Primitives.ButtonBase.get_Command()
at System.Windows.Controls.Primitives.ButtonBase.UpdateCanExecute()
at System.Windows.Controls.Primitives.ButtonBase.OnCanExecuteChanged(Object sender, EventArgs e)
at System.Windows.Input.CanExecuteChangedEventManager.HandlerSink.OnCanExecuteChanged(Object sender, EventArgs e)
at ReactiveUI.ReactiveCommand.OnCanExecuteChanged()
at ReactiveUI.ReactiveCommand`2.<.ctor>b__9_6(Boolean _)
at System.Reactive.AnonymousSafeObserver`1.OnNext(T value) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\AnonymousSafeObserver.cs:line 54
at System.Reactive.Linq.ObservableImpl.RefCount`1._.OnNext(TSource value) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Linq\Observable\RefCount.cs:line 66
at System.Reactive.Subjects.FastImmediateObserver`1.EnsureActive(Int32 count) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Subjects\ReplaySubject.cs:line 893
at System.Reactive.Subjects.FastImmediateObserver`1.EnsureActive() in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Subjects\ReplaySubject.cs:line …Run Code Online (Sandbox Code Playgroud) 我有功能必须在文件中写一些东西.
我这样试试:
int main() {
std::ofstream fout;
fout.open("OUTPUT.TXT");
i = searchLexemes(input, i, 1, fout);
}
Run Code Online (Sandbox Code Playgroud)
searchLexemes以这种方式定义:
int searchLexemes(std::string value, int i, int type, std::ofstream fout);
Run Code Online (Sandbox Code Playgroud)
如果我像在main()中那样调用searchLexemes,Visual Studio会给出错误:
IntelliSense:"std :: basic_ofstream <_Elem,_Traits> :: basic_ofstream(const std :: basic_ofstream <_Elem,_Traits> :: _ Myt&_Right)[с_Elem= char,_Traits = std :: char_traits]"(объявленовстроке1034 из"C:\ Program Files\Microsoft Visual Studio 11.0\VC\include\fstream")недоступноc:\ Users\Badina\Documents\Visual Studio 2012\Projects\PLT lab1\PLT lab1 \Исходныйкод.cpp191 33 PLT lab1
我正在使用俄罗斯版的VS 2012,但我想问题必须清楚.