我是Java和C#程序员.最近,我正在研究C++项目.我遇到了如何在C++中编写示例代码的问题.以下示例代码是对结构的属性进行排序:
public struct Person
{
public string name;
public int age;
}
Run Code Online (Sandbox Code Playgroud)
将一些人添加到列表中并按年龄排序:
static void main()
{
List<Person> persons = new List<Person>();
Person person = new Person();
person.age = 10;
person.name = "Jane";
persons.Add(person);
person = new Person();
person.age = 13;
person.name = "Jack";
persons.Add(person);
person = new Person();
person.age = 12;
person.name = "Anna";
persons.Add(person);
// sort age
persons.Sort(delegate(Person p1, Person p2)
{ return p1.age.CompareTo(p2.age); });
persons.ForEach(delegate(Person p)
{ Console.WriteLine(String.Format("{0} {1}", p.age, p.name)); });
}
Run Code Online (Sandbox Code Playgroud)
如何在C++中编写等效的示例代码?
我正在寻找在C#中是否存在来自Java的等效类TimerTask?
这里引用了TimerTask的Java:http://download.oracle.com/javase/1.4.2/docs/api/java/util/TimerTask.html
提前致谢.
这样做的目的是我需要在C#中实现一些代码:
import java.util.Timer;
import java.util.TimerTask;
private static Timer timer = new Timer();
private TimerTask timeoutTask;
if (timeoutTime>0)
{
timeoutTask = new TimerTask() {
public void run()
{
// callActivity();
}
};
}
timer.schedule( timeoutTask, timeoutTime);
Run Code Online (Sandbox Code Playgroud)
如果你能在C#中为我提供一个等效的代码,那就太好了!提前致谢
我用c ++在cuda中有这个代码:
// Variables
float *query_dev;
float *ref_dev;
float *dist_dev;
int *ind_dev;
cudaArray *ref_array;
cudaError_t result;
size_t query_pitch;
size_t query_pitch_in_bytes;
size_t ref_pitch;
size_t ref_pitch_in_bytes;
size_t ind_pitch;
size_t ind_pitch_in_bytes;
size_t max_nb_query_traited;
size_t actual_nb_query_width;
unsigned int memory_total;
unsigned int memory_free;
// Check if we can use texture memory for reference points
unsigned int use_texture = ( ref_width*size_of_float<=MAX_TEXTURE_WIDTH_IN_BYTES && height*size_of_float<=MAX_TEXTURE_HEIGHT_IN_BYTES );
// CUDA Initialisation
cuInit(0);
// Check free memory using driver API ; only (MAX_PART_OF_FREE_MEMORY_USED*100)% of memory will be used
CUcontext cuContext;
CUdevice …Run Code Online (Sandbox Code Playgroud) 我正在使用Excel Interop更改excel单元格.
我尝试过许多开源解决方案但是文件在阅读时已损坏.因此,我坚持使用Excel Interop.
在服务器上进行开发时,我遇到了这个问题:
Could not load file or assembly 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)
因此,我想在我的服务器上安装Office interop: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=18346
但是,当我安装它时,我遇到了这个问题:
"请在安装此产品之前安装Microsoft Office 2007"
我的问题是:是否可以在服务器上没有Office 2007的情况下安装互操作?
提前致谢.
我想在歌曲的标题中组合歌曲的名称和ID.如果我有:
Song
{
public string Name {get; set;}
public int ID {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我想将它们绑定到Expander的Header中.目前,只与一个属性绑定.它是这样的:
<Expander Foreground="#FFF4E7CA" Header="{Binding Song.Name}" FontWeight="Bold">
</Expander>
Run Code Online (Sandbox Code Playgroud)
但我希望成为这样的事情:
Header = "{Binding Some.Name, Song.ID}"
Run Code Online (Sandbox Code Playgroud)
那么有可能吗?如果是,怎么样?提前致谢.
如果我有这个功能:
printAll(const char *message, ...)
{
va_list argptr = NULL;
va_start(argptr, message);
// todo: how to printf all the arguments in the message?
va_end(argptr);
}
Run Code Online (Sandbox Code Playgroud)
假设我像这样调用函数:
printAll("My info: Value1 = %d, Value 2=%d", 1, 2);
Run Code Online (Sandbox Code Playgroud)
在这一行:// todo:如何printf消息中的所有参数?
我怎样才能打印出来以便:
My info: Value1 = 1, Value 2=2
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我不确定这是否是在C#中触发事件的方式:
public event EventHandler<ActionEventArgs> ActionDataReceived;
public void showLog(string logMessage)
{
ActionDataReceived(this, new ActionEventArgs(logMessage));
}
Run Code Online (Sandbox Code Playgroud) 我在shell bash脚本中编写了一个非常简单的比较,但我从来没有弄错它:
计数= 0
if [ expr $count / 4 = 0 ];
then
echo "yes";
else
echo "no";
fi
Run Code Online (Sandbox Code Playgroud)
总是不给?
我正在写这个Bash脚本:
count=0
result
for d in `ls -1 $IMAGE_DIR | egrep "jpg$"`
do
if (( (count % 4) == 0 )); then
result="abc $d"
if (( count > 0 )); then
echo "$result;"
fi
else
result="$result $d"
fi
(( count++ ))
done
if (( (count % 4) == 0 )); then
echo $result
fi
Run Code Online (Sandbox Code Playgroud)
该脚本是在将值除以4时将部分字符串连接成一个字符串,它应该大于0.
在IMAGE_DIR中,我有8张图片,
我有这样的输出:
abc et004.jpg
abc et008.jpg
Run Code Online (Sandbox Code Playgroud)
但我希望有:
abc et001.jpg et002.jpg et003.jpg et004.jpg;
abc et005.jpg et006.jpg et007.jpg et008.jpg;
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
在C++中,我有这个示例实现:
#include <thread>
#include <iostream>
void doSomeWork( void )
{
std::cout << "hello from thread..." << std::endl;
while(true)
{
printf("Getting inside doSomeWork\n");
sleep(1);
}
}
int main( int argc, char *argv[] )
{
std::thread t( doSomeWork );
t.join();
processing();
return 0;
}
void processing()
{
while(true)
{
printf("Getting inside processing\n");
sleep(1);
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个问题,doSomeWork()继续做事情并阻止处理().我认为线程是异步的,所以当它正在睡觉时,我可以做其他事情.我的问题是如何在doSomeWork()中休眠并产生其他线程,然后恢复doSomework()?