在 CStringArray 中从 5 个元素中选择 3 个元素?
Choose 3 element out of 5 in CStringArray?
在此代码中,keepSelectedFiles 有 5 个文本文件。我想选择其中的 3 个并添加到另一个数组 keepFiles 中。计数只是用户的输入。如果用户 select 3 在文本框中,则计数为 3 任何数字等
for (int i = 0; i < keepSelectedFiles.GetSize(); i++)
{
for (int i = 0; i < count; i++)
{
keepFiles.RemoveAt(keepFiles.IsEmpty());
keepFiles.Add(keepSelectedFiles[i]);
testbox6.AddString(keepFiles[i]);
}
}
请帮我看看我该怎么做?
开始吧"on paper":
假设您想从 keepSelectedFiles
中获取前三个字符串并将它们添加到 keepFiles
,那么您将
- 获取
keepSelectedFiles
中的第一个字符串并添加到keepFiles
- 获取
keepSelectedFiles
中的第二个字符串并添加到keepFiles
- 获取
keepSelectedFiles
中的第三个字符串并添加到keepFiles
就这些了。
为了将其转化为代码,您制作了一个循环,该循环将迭代三 (count
) 次,从 0
到 2
(含)并将该数字用作索引到 keepSelectedFiles
。所以生成的代码看起来像
for (int i = 0; i < count && i < keepSelectedFiles.GetSize(); ++i(
{
keepFiles.Add(keepSelectedFiles[i]);
}
就是这样。
方法如下(性能优化):
if (count < 0)
return; // error handling
if (count < keepSelectedFiles.GetSize())
{
keepFiles.SetSize(count);
for (int i=0; i<count; i++)
{
keepFiles[i] = keepSelectedFiles[i];
}
}
else
{
keepFiles.Copy(keepSelectedFiles);
}
在此代码中,keepSelectedFiles 有 5 个文本文件。我想选择其中的 3 个并添加到另一个数组 keepFiles 中。计数只是用户的输入。如果用户 select 3 在文本框中,则计数为 3 任何数字等
for (int i = 0; i < keepSelectedFiles.GetSize(); i++)
{
for (int i = 0; i < count; i++)
{
keepFiles.RemoveAt(keepFiles.IsEmpty());
keepFiles.Add(keepSelectedFiles[i]);
testbox6.AddString(keepFiles[i]);
}
}
请帮我看看我该怎么做?
开始吧"on paper":
假设您想从 keepSelectedFiles
中获取前三个字符串并将它们添加到 keepFiles
,那么您将
- 获取
keepSelectedFiles
中的第一个字符串并添加到keepFiles
- 获取
keepSelectedFiles
中的第二个字符串并添加到keepFiles
- 获取
keepSelectedFiles
中的第三个字符串并添加到keepFiles
就这些了。
为了将其转化为代码,您制作了一个循环,该循环将迭代三 (count
) 次,从 0
到 2
(含)并将该数字用作索引到 keepSelectedFiles
。所以生成的代码看起来像
for (int i = 0; i < count && i < keepSelectedFiles.GetSize(); ++i(
{
keepFiles.Add(keepSelectedFiles[i]);
}
就是这样。
方法如下(性能优化):
if (count < 0)
return; // error handling
if (count < keepSelectedFiles.GetSize())
{
keepFiles.SetSize(count);
for (int i=0; i<count; i++)
{
keepFiles[i] = keepSelectedFiles[i];
}
}
else
{
keepFiles.Copy(keepSelectedFiles);
}