这是我在SQL Server中所做的示例
SELECT CAST(CAST('2012-01-25 10:00:00.000' AS DATETIME) AS INT) + 2
Run Code Online (Sandbox Code Playgroud)
结果是40933
我怎样才能用c#实现这个目标?从哪里以及如何得到这个整数?
参考:从DateTime转换为INT但这是我在c#中需要的
当我们从堆中读取字符串时,该操作是原子读/写操作吗?
我在这里很困惑,如果我有像这样的字符串,Hello World那么这个字符串的大小是 11 * 2 = 22 字节,所以当编译器(86x/64x)读取这个字符串时,它根本无法在一个操作中读取字符串,所以它不是原子操作。
或者以另一种方式将字符串读取为字符数组,并且字符的每个读/写操作都是原子的。这是否意味着对字符串的读/写操作是原子的。
为什么我们不能使用base关键字在静态方法中使用基类方法?
两者都可以在编译时使用.
class A
{
public virtual void Func(int a=4){
Console.WriteLine(" A Class: "+a);
}
}
class B : A
{
public new void Func(int a = 12)
{
Console.WriteLine(" B Class: "+ a);
}
}
class C : B
{
public static void Func()
{
base.Func(); // why not ????
}
}
public class Program
{
public static void Main(string[] args)
{
B ob = new C();
ob.Func();
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud) 我试图做出一些逻辑,但它尚未证明:
string s = "1234567877y";
StringBuilder sb = new StringBuilder(s);
for (int i = 5; i <= s.Length + (s.Length / 5 ); i += 5 + (s.Length / 5) )
{
sb.Insert(i, Environment.NewLine);
}
Console.WriteLine(sb.ToString());
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)
输出应该是:
12345
67877
y
StringBuilder contain: "12345\r\n67877\r\ny"
Run Code Online (Sandbox Code Playgroud)
但如果我改变输入字符串我没有得到理想的结果.我可以在这里做什么或建议其他方式.
编辑:如果我改变
string s = "1234567877y3434";
Run Code Online (Sandbox Code Playgroud)
输出将是
12345
67877y
3434
Run Code Online (Sandbox Code Playgroud) 在C#中,结构是值类型,接口和类都是引用类型.那么,为什么struct不能继承一个类,但它可以继承一个接口?
class a { }
public struct MyStruct : a //This will not be allowed.
{
}
interface a { }
public struct MyStruct : a // and this will work
{
}
Run Code Online (Sandbox Code Playgroud) 我有多个图层,其中我有字段UserToken,我需要通过会话.我正在点击WCF服务,每次请求我都会在标头中传递一个UserToken.我每次在基类中设置UserToken时都不会传递此标头,以便从该静态字段中获取令牌.我正在构建WPF应用程序.
public class A // Base layer
{
static string token;
}
public class B : A // First Level layer
{
}
public Class Main : B // Second level layer
{
//Here i want to do something like ...
new B().[get base class of it i.e. A and then access static property of A]
}
Run Code Online (Sandbox Code Playgroud)
我需要这个,因为我的项目中有多个图层,我不想将基础图层引用到我的第二层图层?我怎样才能实现这一目标?
是声明
public string FirstName;
Run Code Online (Sandbox Code Playgroud)
相当于
public string FirstName { get; set;}
Run Code Online (Sandbox Code Playgroud)
我相信没有区别,但我发现了以下内容:当我创建一个模型时 - 就像这样
public class Subject
{
public string SubjectName;// { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后在MVC中使用表单发布此对象,我得到了SubjectName价值null.但是,如果我删除注释的访问器,那么我得到一个值.这种行为有什么理由吗?
我为DOM元素管理鼠标悬停和鼠标移出,
$(".selector").hover(function(){
console.log('in');
},function(){
console.log('out');
});
Run Code Online (Sandbox Code Playgroud)
但它不适用于动态内容,我如何为动态元素做同样的事情.
我有一段代码
public class A
{
public A()
{
Console.WriteLine("A");
}
B b = new B("From A");
}
public class B : A
{
public B()
{
Console.WriteLine("B");
}
public B(string str) //Getting exception here
{
Console.WriteLine("In B " + str);
}
}
public class C : A
{
B b = new B("From C");
public C()
{
Console.WriteLine("C");
}
}
class Program
{
static void Main(string[] args)
{
new C();
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,我知道在调用基础构造函数之前首先初始化所有属性,但是我无法找到为什么我得到Stackoverflow异常.任何帮助?谢谢
c# ×8
inheritance ×2
string ×2
asp.net-mvc ×1
datetime ×1
field ×1
int ×1
interface ×1
jquery ×1
mouseevent ×1
oop ×1
properties ×1
reference ×1
sql ×1
sql-server ×1