使用Sitecore和Linq扩展.
我正在尝试使用以下代码将项目数组转换为列表:
Item variationsFolder = masterDB.SelectSingleItem(VariationsFolderID.ToString());
List<Item> variationList = variationsFolder.GetChildren().ToList<Item>();
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试构建时,我都会收到此错误:
'Sitecore.Collections.ChildList' does not contain a definition for 'ToList' and the best extension method overload 'System.Linq.Enumerable.ToList<TSource>(System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments
Run Code Online (Sandbox Code Playgroud)
我有以下用途:
using System.Linq;
using System.Xml.Linq;
Run Code Online (Sandbox Code Playgroud)
参考:
System.Core
Run Code Online (Sandbox Code Playgroud)
我刚刚从另一个位置复制了这个代码,所以它应该可以正常工作,只能认为有一些简单的东西(比如参考或我缺少的东西).
作为回答另一个问题的一部分,我遇到了一段这样的代码,gcc编译时没有抱怨.
typedef struct {
struct xyz *z;
} xyz;
int main (void) {
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是我一直用来构造指向自己的类型的方法(例如,链接列表),但我一直认为你必须命名结构,以便你可以使用自引用.换句话说,您无法xyz *z在结构中使用,因为此时typedef尚未完成.
但是这个特定的样本没有命名结构,它仍然编译.我原本认为编译器中有一些黑魔法会自动翻译上面的代码,因为结构和typedef名称是相同的.
但是这个小小的美也可以:
typedef struct {
struct NOTHING_LIKE_xyz *z;
} xyz;
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?这似乎是一个明显的违规,因为没有任何struct NOTHING_LIKE_xyz类型定义.
当我从指针更改为实际类型时,我得到预期的错误:
typedef struct {
struct NOTHING_LIKE_xyz z;
} xyz;
qqq.c:2: error: field `z' has incomplete type
Run Code Online (Sandbox Code Playgroud)
此外,当我删除struct,我得到一个错误(parse error before "NOTHING ...).
这是否允许在ISO C中?
更新:A struct NOSUCHTYPE *variable;也编译,因此它不仅仅是内部结构似乎是有效的.我在c99标准中找不到任何允许结构指针宽大的东西.
我目前有一个有序列表,我想使用新的HTML 5属性进行标记.它看起来像这样:
<ol class="section">
<li class="article">
<h2>Article A</h2>
<p>Some text</p>
</li>
<li class="article">
<h2>Article B</h2>
<p>Some text</p>
</li>
<li class="article">
<h2>Article C</h2>
<p>Some text</p>
</li>
</ol>
Run Code Online (Sandbox Code Playgroud)
似乎保持列表和使用HTML 5标签的唯一方法是添加一大堆不必要的div:
<section>
<ol>
<li>
<article>
<h2>Article A</h2>
<p>Some text</p>
</article>
</li>
<li>
<article>
<h2>Article B</h2>
<p>Some text</p>
</article>
</li>
<li>
<article>
<h2>Article C</h2>
<p>Some text</p>
</article>
</li>
</ol>
</section>
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?你的想法是什么?
我正在使用Scanner(基本型号)来扫描条形码.扫描的条形码将在文本框中捕获.在txtBarcode_TextChanged事件中,我正在获取要访问的条形码.
问题:
如果我多次点击扫描仪,条形码会附加前一个值.
码:
protected void txtBarcode_TextChanged(object sender, EventArgs e)
{
string txt = this.txtBarcode.Text;
this.txtBarcode.Text = string.Empty;
}
Run Code Online (Sandbox Code Playgroud) 它写在每本书中,外键实际上是其他表中的主键但是我们可以有一个外键,它不是任何其他表中的主键
我知道以下将显示一个手形光标:
component.mouseChildren = true;
component.useHandCursor = true;
component.buttonMode = true;
Run Code Online (Sandbox Code Playgroud)
当我在List组件上执行上述操作时,会显示手形按钮,整个组件会失去它的交互性(手形光标甚至会显示在滚动条上).
那么如何只在滚动列表项时显示手形光标呢?
我正在使用PHP创建一个包含字段数组的表单.基本上,您可以在表单中添加无限数量的"人",每个人都有名字,姓氏和电话号码.表单要求您仅为第一个人添加电话号码.如果您将电话号码字段留空,则应将处理程序文件编程为使用第一个人的电话号码.
所以,我的领域是:
person[] - 隐藏字段,其值为此人的主键.
fname[] - 输入字段
lname[] - 输入字段
phone[] - 输入字段
我的表单处理程序如下所示:
$people = $_POST['person']
$counter = 0;
foreach($people as $person):
if($phone[$counter] == '') {
// use $phone[0]'s phone number
} else {
// use $phone[$counter] number
}
$counter = $counter + 1;
endforeach;
Run Code Online (Sandbox Code Playgroud)
PHP虽然不喜欢这样,但却让我失望了
Notice: Uninitialized string offset error.
Run Code Online (Sandbox Code Playgroud)
我通过在people,fname,lname和phone上运行is_array函数来调试它,它返回true作为数组.我也可以手动回显$ phone [2]等,并获得正确的值.我还在$ counter变量上运行了is_int,它返回true,所以我不确定为什么这不能按预期工作?
任何帮助都会很棒!
首先,我从数据库获取数据时出现问题,它占用了太多内存并且失败了.我已经设置-Xmx1500M并且我正在使用滚动ResultSet以便处理.现在我需要从数据中创建一个XML,但我不能把它放在一个文件中.目前,我这样做:
while(rs.next()){
i++;
xmlStringBuilder.append("\n\t<row>");
xmlStringBuilder.append("\n\t\t<ID>" + Util.transformToHTML(rs.getInt("id")) + "</ID>");
xmlStringBuilder.append("\n\t\t<JED_ID>" + Util.transformToHTML(rs.getInt("jed_id")) + "</JED_ID>");
xmlStringBuilder.append("\n\t\t<IME_PJ>" + Util.transformToHTML(rs.getString("ime_pj")) + "</IME_PJ>");
//etc.
xmlStringBuilder.append("\n\t</row>");
if (i%100000 == 0){
//stores the data to a file with the name i.xml
storeKBR(xmlStringBuilder.toString(),i);
xmlStringBuilder= null;
xmlStringBuilder= new StringBuilder();
}
Run Code Online (Sandbox Code Playgroud)
它有效; 我得到12个100 MB的文件.现在,我想要做的是将所有数据放在一个文件中(我然后压缩),但如果只删除if部分,我就会耗尽内存.我想过尝试写一个文件,关闭它,然后打开,但这不会让我感觉太多,因为我打开它时必须将文件加载到内存中.
要定义常量,更常见和正确的方法是什么?在编译,链接等方面,使用#define定义常量的成本是多少?这是另一种便宜的方式吗?
c# ×3
c ×2
java ×2
apache-flex ×1
arrays ×1
c++ ×1
flex3 ×1
foreign-keys ×1
forms ×1
generic-list ×1
html5 ×1
javascript ×1
jquery ×1
objective-c ×1
oracle ×1
php ×1
sitecore ×1
sql ×1
sql-server ×1
struct ×1
undefined ×1