由于我正处于软件开发的初级职业生涯(C++和C#),我现在看到了我的缺陷以及我在这个领域所缺少的内容.正因为如此,我得出了一些结论,并使自己成为填补这些空白并增加我在软件开发方面的知识的计划.但是,在完成我需要完成的任务后,我偶然发现的问题对我来说并不是很明显.这些任务的优先级是什么?以下是这些任务以及编号的优先级:
学习:
你同意这个任务和优先事项吗?或者我在这里想念一些东西?欢迎任何建议!
两个捕获块都会被击中吗?
try
{
DoSomething();
}
catch (AuthenticationException e)
{
throw;
}
catch (Exception e)
{
throw new AuthenticationException("Hello ");
}
Run Code Online (Sandbox Code Playgroud) 如果ProgressBar可以在需要之前消失,那将是很好的.在applyMenuChoice中使用setVisibility.progressBar有问题吗?在PrintStatusTask().execute()中使用setVisibility.progressBar的问题是它在运行时崩溃应用程序.
public class Controller extends Activity {
private ProgressBar progressBar;
...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.controller);
progressBar = (ProgressBar)findViewById(R.id.progressBar);
...
private boolean applyMenuChoice(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuStatus:
progressBar.setVisibility(View.VISIBLE);
new PrintStatusTask().execute();
progressBar.setVisibility(View.GONE);
...
Run Code Online (Sandbox Code Playgroud) 删除的C代码,看到这是造成一些混乱(它不应该已经在那里开始.遗憾的任何不便,有Ç回答,因为仍然欢迎虽然:)
在几件事情我已经做了,我已经找到了需要创建具有动态大小和静态的大小,其中,静态部件是你的基本对象的成员,但动态部分是一个数组对象/缓冲直接追加到类,保持存储器中连续,因此减少需要分配的量(这些是不可重分配对象),并降低分片(虽然为下侧,它可能是更难找到一个足够大的尺寸的块,但是这很多较为少见 - 如果它甚至应该出现在所有 - 比堆破碎,这也是在嵌入式设备上有用,其中的内存是非常宝贵的(但我不这样做对目前嵌入式设备的任何东西),事情就是这样STD: :字符串需要避免,或者不能像琐碎的联合一样使用.
通常我会这样做的方式是(ab)使用malloc(std :: string不是故意使用的,并且由于各种原因):
struct TextCache
{
uint_32 fFlags;
uint_16 nXpos;
uint_16 nYpos;
TextCache* pNext;
char pBuffer[0];
};
TextCache* pCache = (TextCache*)malloc(sizeof(TextCache) + (sizeof(char) * nLength));
Run Code Online (Sandbox Code Playgroud)
然而,这并不适合我,因为首先我想使用new,因此在C++环境中这样做,其次,它看起来很可怕:P
所以下一步是模板化的C++变量:
template <const size_t nSize> struct TextCache
{
uint_32 fFlags;
uint_16 nXpos;
uint_16 nYpos;
TextCache<nSize>* pNext;
char pBuffer[nSize];
};
Run Code Online (Sandbox Code Playgroud)
然而,这存在将存储指向可变大小对象的指针变为"不可能"的问题,因此接下来的解决方法是:
class DynamicObject {};
template <const size_t nSize> struct TextCache : DynamicObject {...};
Run Code Online (Sandbox Code Playgroud)
然而,这仍然需要铸造,具有指针DynamicObject遍的时候更是一个动态大小的物体提炼出来的(这也看起来可怕,可从强制空类仍然有大小错误受苦的地方变得模糊,虽然这可能是一个古老的,灭绝的虫子......).
然后是这样的:
class DynamicObject
{
void* operator new(size_t nSize, size_t nLength)
{
return malloc(nSize + …Run Code Online (Sandbox Code Playgroud) @browser = ("NS", "IE", "Opera");
my $add_str = "Browser:";
$count = 0;
foreach (@browser) {
my $br = $_;
$browser[$count] = "$add_str:$br";
$count++ ;
}
Run Code Online (Sandbox Code Playgroud)
还有其他办法吗?最好的办法 ?
我有以下情况,我NSMutableArray填写了一个xml我想搜索的文件.当我在搜索字段中输入内容时出现此错误:
-[NSCFString countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x5b388b0
Run Code Online (Sandbox Code Playgroud)
它意味着什么,我该如何解决?
我想错误就在这附近.
- (void)searchTableView{
searchedList = [[NSMutableArray alloc] init];
NSLog(@"new list %@", searchedList);
NSString *searchText = searchBar.text;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in list) {
NSArray *array = [dictionary objectForKey:@"TITLE"];
[searchArray addObjectsFromArray:array];
}
for (NSString *TempArray in searchArray) {
NSRange titleResults = [TempArray rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResults.length > 0)
[searchedList addObject:TempArray];
}
[searchArray release];
searchArray = nil;
}
Run Code Online (Sandbox Code Playgroud) 我希望能够轻松快速地从大海捞针阵列中删除一系列针头.实际上我有一个逗号分隔的数字列表(虽然这是我知道的字符串),需要从我从sql数据库中的字段中提取的第二个逗号分隔的数字列表中删除.
所以我需要 -
$ orig_needle_list ="3456,5678"; 干草堆列表位于mysql数据库的一个字段中,是"3456,4567,5678,6789" - 所以我基本上想把这个字段更新为"4567,6789"
Q1.我应该检索干草堆列表,将它们转换为数组并使用嵌套的foreach循环和array_splice任何匹配的值迭代它们吗?
Q2我可以使用in_array比嵌套的foreach方法更快吗?
Q3有没有办法在sql查询中执行此操作来删除中间人并更新字段?
谢谢
在来自Resources的DataGridComboBoxColumn ItemSource的所有示例中.难道不能直接绑定到CodeBehind中的列表吗?
我有存储过程,返回动态排序的结果.父文件夹(这是用于内容管理)具有RankTypeID字段,允许按Rank(0)排序,开始日期按升序排序(1),开始日期按降序排列(2),文档标题(3)
Rank是一个整数,date是smalldatetime,title是nvarchar.
...
ORDER BY
Case Parent.RankTypeID
When 0 Then dbo.Folders.Rank
When 1 Then Cast(dbo.Documents.SortableDateStart As bigint)
When 2 Then (1 - Cast(dbo.Documents.SortableDateStart As bigint))
When 3 Then Cast(dbo.Documents.Title as sql_variant)
End
Run Code Online (Sandbox Code Playgroud)
我将SortableDateStart设置为计算列,以获取DateStart smalldatetime列并将其转换为bigit进行排序.它需要一个ISO8601日期(专为xml使用而设计,也可以方便排序)并替换T,:和 -
(replace(replace(replace(CONVERT([varchar](16),[DateStart],(126)),'T',''),'-',''),':',''))
Run Code Online (Sandbox Code Playgroud)
这有点难看.有一个更好的方法吗?我也愿意采用更好的方法来处理这种动态排序.
编辑:测试数据设置
DECLARE @Temp TABLE
(
[Rank] int,
[Title] nvarchar(100),
[DateStart] datetime
)
INSERT into @Temp
SELECT 1, 'title1', '1/1/2010 10:01:00AM'
UNION
SELECT 2, 'atitle1', '1/1/2010 10:03:00AM'
UNION
SELECT 3, 'title1', '1/1/2010 10:10:00AM'
UNION
SELECT 4, 'btitle1', '1/1/2010 10:04:00AM'
UNION
SELECT 10, 'title1', '1/1/2010 …Run Code Online (Sandbox Code Playgroud) 有没有人使用start-stop-daemon和mono-service2一起成功?我已经和它斗争了几天了,已经有了各种各样的工作,但是没有成功为单声道服务获得一个功能齐全的init脚本.
这是我迄今所学到的:
单声道或单声道服务exe必须命名为变量DAEMON(您不能将您的exe列为DAEMON)
您必须使用--background标志...否则,当从包安装程序执行此脚本时(在我的情况下为deb).安装程序结束时服务终止(与安装程序分叉处理的方式有关...我没有对此进行过多次调查).
我已经成功地在其他脚本中使用mono-service标志列出了pid文件并使用它来停止守护进程,但由于某种原因它在这里不起作用.因此,下面的脚本不会停止服务 - 不知道为什么.开始工作正常.
这是我的部分功能初始化脚本:
#! /bin/sh
### BEGIN INIT INFO
# Provides: ServiceName
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts and Stops Service
# Description: Service start|stop|restart
### END INIT INFO
# Author: Author
#
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Description of the service"
NAME=Service.exe
DAEMONNAME=ServiceDaemon.sh
INSTALLDIR=/usr/sbin/ …Run Code Online (Sandbox Code Playgroud)