我常常遇到一个问题,我需要确定哪些包含在我的项目中以便使用特定的类.例如,我想要你TypeInfo类.MSDN并未说它属于.实际上我甚至无法使用MSDN文档资源管理器搜索找到TypeInfo类.所有结果都与其他一些东西有关.例如,第一个结果是关于System.Runtime.Remoting.
MSDN也说 - 汇编mscorlib.在"添加引用"对话框的组件页面中,我可以看到mscorlib,但也可以看到完全限定的名称,如System.RunTime.Serialization
有什么不同?
我有一个Windows WCF服务和Web客户端.我的服务有一种方法
[OperationContract]
SubmitOrder(OrderInfo info)....
// class used to pass all relevant data
[DataContract]
class OrderInfo
{
[DataMember]
OrderType Type;
// general order data
}
Run Code Online (Sandbox Code Playgroud)
在我引入新的订单类型(由OrderInfo.Type属性控制)之前,这很棒.您可以将新订单类型视为从一般订单(行为方面)派生而来.每个新订单都有一些额外的属性.实现Order的这种多态行为的最佳方法是什么?
目前,我只是在添加新订单时向OrderInfo类添加新属性.
[DataContract]
class OrderInfo
{
[DataMember]
OrderType Type;
// general order data
// First custom order data
// Second custom order data
// TODO - add new properties for new orders
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢它太多因为它太直.如果我更改[DataContract]并且未重建客户端怎么办?
我有什么选择?我当然可以实现继承并派生新[DataContract]类MyCustomOrder1,但序列化不支持继承,我需要使用[KnownTypes]哪些是由于某些原因而被禁止的.
我知道我的问题没有简单的答案,但我会很感激想法,指南或某些东西 - 看看清单
我有一个不断抛出OutOfMemoryException的网络Windows服务.该服务有两个用于x86和x64 Windows的版本.但是在x64上它消耗了更多的内存.我尝试使用各种内存分析器对其进行分析.但我无法弄清楚问题是什么.诊断 - 服务消耗了大量的VMSize并在3到12小时后崩溃应用程序.行为是相当随机的 - 崩溃情景没有可观察的模式.
我还试着看一下性能计数器(perfmon.exe).我可以看到堆大小正在增长,%GC时间平均为19%.内存分配与%CPU时间相关.
我的应用程序有线程和锁定对象,数据库连接和WCF接口.我想解决的一般问题:
GC GC对象或某些非托管(窗口)对象消耗内存的速度是否足够快?
请参阅列表中的第一个应用程序 http://s45.radikal.ru/i109/1003/af/92a389d189e8.jpg http://s45.radikal.ru/i109/1003/af/92a389d189e8.jpg
带有性能计数器的图片链接查看 http://s006.radikal.ru/i215/1003/0b/ddb3d6c80809.jpg
我需要创建2D锯齿状数组.想想一个矩阵.行数是已知的,列数是未知的.例如,我需要创建10个元素的数组,其中每个元素的类型为string [].我为什么需要那个?列数是未知的 - 此函数必须简单地执行分配并将数组传递给其他函数.
string[][] CreateMatrix(int numRows)
{
// this function must create string[][] where numRows is the first dimension.
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
我有C++背景.在C++中,我会编写以下内容(从不修改语法)
double ** CreateArray()
{
double **pArray = new *double[10]() // create 10 rows first
}
Run Code Online (Sandbox Code Playgroud)
更新2
我正在考虑使用List,但我需要对行和列进行索引访问.
嗨,我亲爱的专家,
我正在设计一个必须处理文件夹中的文件的函数.该函数必须说明它已经处理了多少文件以及是否有错误.设计此类功能的最佳方法是什么?我在三种选择中做出选择:
bool ProcessFiles(out int fileCount)
{
// return true or false
}
int ProcessFiles()
{
// return -1 when failed
}
int ProcessFiles(out bool success)
{
// return count
}
Run Code Online (Sandbox Code Playgroud)
当然,这个例子是对现实生活问题的一个例证.我只是想详细说明好的策略.
我用自定义模板创建了新页面.用户将使用此页面提问.我的页面的最终固定链接是http://www.mysite.com/?page_id=26 .
这在浏览器的地址栏中看起来很难看.我希望它看起来很漂亮.例如,就像在stackoverflow http://stackoverflow.com/questions/ask中一样
请告知在哪里查看.
我有主要的style.css和第三方提供的
// Include main CSS
<link charset="utf-8" media="screen" type="text/css" href="http://test.style-hunters.ru/wp-content/themes/style-hunters/style.css" rel="stylesheet">
// Include third party CSS, we have put it to css folder
<link href="http://test.style-hunters.ru/wp-content/themes/style-hunters/css/style.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
在第二个style.css中
body {
font-family: Verdana, Arial, sans-serif;
font-size: 13px;
margin: 0;
padding: 20px;
}
Run Code Online (Sandbox Code Playgroud)
这使得所有body元素都有填充.
怎么解决?
MSDN说:
当用作修饰符时,new关键字显式隐藏从基类继承的成员.隐藏继承的成员时,该成员的派生版本将替换基类版本.虽然您可以在不使用new修饰符的情况下隐藏成员,但结果是警告.如果使用new来显式隐藏成员,则会抑制此警告并记录派生版本旨在替代的事实.
例:
class Base
{
int value;
virtual bool Foo()
{
value++;
}
}
class Derived : Base
{
int value;
override bool Foo()
{
value++;
}
}
Run Code Online (Sandbox Code Playgroud)
我是否必须new向Derived.value声明添加修饰符?有什么变化?
我需要一个有序队列,其中对象将按主要和次要值排序.
class Object
{
int PrimaryValue;
int SecondaryValue;
}
Run Code Online (Sandbox Code Playgroud)
队列中Object的位置必须由PrimaryValue确定.具有较高PrimaryValue的对象必须位于具有较低PrimaryValue的对象之前.但是,对于具有相同PrimaryValue的两个对象,必须使用SecondaryValue来确定优先级.此外,我需要两个函数来获得将返回相应迭代器的迭代器GetFirst()和后向迭代GetLast()器.
我需要显示用户重定向到主页的登录链接
<?php if (!is_user_logged_in()) : ?>
<a href="<?php wp_login_url(get_option('siteurl')); ?> "> login</a>
Run Code Online (Sandbox Code Playgroud)
然而,这会产生以下结果
<a href=" "> login</a>
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
继续我之前的问题 为什么我不能长期得出?
我发现了一个有趣的问题.
第一步:
4294967296 & 0xFFFFFFFF00000000
Run Code Online (Sandbox Code Playgroud)
结果:4294967296.
第二步.
4294967296 & 0x00000000FFFFFFFF
Run Code Online (Sandbox Code Playgroud)
结果:0
啊哈,所以我在这里假设4294967296 == 0xFFFFFFFF
让我们检查
(long)0x00000000FFFFFFFF
Run Code Online (Sandbox Code Playgroud)
结果:4294967295.失败.
我们仔细检查吧
4294967296 >> 32
Run Code Online (Sandbox Code Playgroud)
结果:1.失败.
唯一的解释是,因为我使用了很长时间保留一些符号.在CI中将使用unsigned long.你们觉得怎么样?
.NET 3.5中是否有现成的数据结构来执行以下操作
存储按十进制键排序的值,允许使用dublicates
得到与给定键左右最接近的下一个值(枚举数)
一个例子:
汽车经销商有汽车,客户要求找到最贵的车但价格低于1000美元
我有以下需要解析的字符串
string date = "2017-06-23T13:45:45.816"
Run Code Online (Sandbox Code Playgroud)
什么是正确的格式字符串?
我试过了
DateTime createDate = DateTime.ParseExact(date, "yyyy-MM-dd'T'hh-mm-ss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud) c# ×9
.net ×7
wordpress ×2
arrays ×1
coding-style ×1
collections ×1
css ×1
datetime ×1
html ×1
inheritance ×1
modifier ×1
msdn ×1
oop ×1
permalinks ×1
php ×1
polymorphism ×1
profiling ×1
queue ×1